title: Append a new Http header using django request.META
body: <p>i am using django-rest framework and i am able to get and set the custom headers using the below META information,</p>
  
  <pre><code>class log_middleware:
  def __init__(self, get_response):
      self.get_response = get_response
      # One-time configuration and initialization.
  
  def __call__(self,request):
      # set thread local values
      # This will execute before every request
      correlation_id = request.META['HTTP_X_REQUEST_ID'] if 'HTTP_X_REQUEST_ID' in request.META else str(uuid.uuid4())
      request.META['HTTP_X_REQUEST_ID'] = correlation_id
  
      #logger.debug("Entered service")
  
      response = self.get_response(request)
  
      response['HTTP_X_REQUEST_ID'] = correlation_id
  
      #logger.debug("Processed response")
      return response
  </code></pre>
  
  <p>Now in my views.py i am able to get this header as request.META['HTTP_X_REQUEST_ID']. and it is available in the response header</p>
  
  <p>But when I try to log the http header values in uwsgi using the below config,it has '-' empty value field. Because uwsgi has only actual request headers in %var.XXX variable and response headers goes to %headers and it shows only count and the actual values.
  Issue: <a href="https://github.com/unbit/uwsgi/issues/1407" rel="nofollow noreferrer">https://github.com/unbit/uwsgi/issues/1407</a></p>
  
  <p><strong>So Is there any way in django to append the data in actual request header instead of response header?</strong> </p>
  
  <pre><code>[uwsgi]
  master = 1
  memory-report = true
  module = my_service.wsgi
  http = 0.0.0.0:8080
  max-requests = 50
  processes = 16
  log-format = { "ctime": "%(ctime)", "addr": "%(addr)", "method": "%(method)", "uri": "%(uri)", "correlation_id": "%(var.HTTP_X_REQUEST_ID)" }
  </code></pre>
  
  <p>But the same thing works if i set the header HTTP_X_REQUEST while sending the request itself from the rest client utils. </p>