mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
handle server_address and client_address in all connections types.
This commit is contained in:
parent
0935ab3344
commit
b7903be3f3
@ -38,7 +38,11 @@ class Request(object):
|
|||||||
def __init__(self, socket, client_address, server_address, debug=False):
|
def __init__(self, socket, client_address, server_address, debug=False):
|
||||||
self.debug = debug
|
self.debug = debug
|
||||||
self.socket = socket
|
self.socket = socket
|
||||||
self.client_address = client_address
|
|
||||||
|
# authors should be aware that REMOTE_HOST and REMOTE_ADDR
|
||||||
|
# may not qualify the remote addr:
|
||||||
|
# http://www.ietf.org/rfc/rfc3875
|
||||||
|
self.client_address = client_address or ('127.0.0.1', '')
|
||||||
self.server_address = server_address
|
self.server_address = server_address
|
||||||
self.response_status = None
|
self.response_status = None
|
||||||
self.response_headers = {}
|
self.response_headers = {}
|
||||||
@ -82,6 +86,25 @@ class Request(object):
|
|||||||
else:
|
else:
|
||||||
wsgi_multiprocess = True
|
wsgi_multiprocess = True
|
||||||
|
|
||||||
|
|
||||||
|
# Try to server address from headers
|
||||||
|
if 'X-Forwarded-For' in self.parser.headers_dict:
|
||||||
|
server_address = self.parser.headers_dict.get('X-Forwarded-For')
|
||||||
|
|
||||||
|
elif 'Host' in self.parser.headers_dict:
|
||||||
|
server_address = self.parser.headers_dict.get('Host')
|
||||||
|
else:
|
||||||
|
server_address = self.server_address
|
||||||
|
|
||||||
|
if isinstance(server_address, basestring):
|
||||||
|
if ':' in server_address:
|
||||||
|
server_name, server_port = server_address.split(":")
|
||||||
|
else:
|
||||||
|
server_name = server_address
|
||||||
|
server_port = ''
|
||||||
|
else:
|
||||||
|
server_name, server_port = server_address
|
||||||
|
|
||||||
environ = {
|
environ = {
|
||||||
"wsgi.url_scheme": 'http',
|
"wsgi.url_scheme": 'http',
|
||||||
"wsgi.input": wsgi_input,
|
"wsgi.input": wsgi_input,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user