uwsgi_request_buffering off;
uwsgi_read_timeout 120s;
uwsgi_send_timeout 120s;

uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

# custom headers to forward are prefixed with HTTP_ and are UPPER Underscored 
# flask rewrites them to minus capitilized... 
uwsgi_param  HTTP_X_REAL_IP          $remote_addr;
uwsgi_param  HTTP_X_FORWARDED_FOR    $proxy_add_x_forwarded_for;
uwsgi_param  HTTP_X_FORWARDED_PROTO  $scheme;

# in case ssl auth is not enabled, set these headers to empty strings
# this is important since we trust these headers
uwsgi_param HTTP_X_SSL_AUTHENTICATED  $ssl_client_verify;
uwsgi_param HTTP_X_SSL_CLIENT_DN      $ssl_client_s_dn;
uwsgi_param HTTP_X_SSL_CLIENT_SHA1    $ssl_client_fingerprint;
