mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
more fixes
This commit is contained in:
parent
fe5f44d0b7
commit
5324d3cb60
@ -58,10 +58,6 @@ class HTTPRequest(object):
|
||||
self.socket = socket
|
||||
self.client_address = client_address
|
||||
self.server_address = server_address
|
||||
self.version = None
|
||||
self.method = None
|
||||
self.path = None
|
||||
self.headers = {}
|
||||
self.response_status = None
|
||||
self.response_headers = {}
|
||||
self._version = 11
|
||||
@ -91,7 +87,7 @@ class HTTPRequest(object):
|
||||
wsgi_input = StringIO.StringIO()
|
||||
else:
|
||||
wsgi_input = TeeInput(self.socket, parser, buf, remain)
|
||||
|
||||
|
||||
environ = {
|
||||
"wsgi.url_scheme": 'http',
|
||||
"wsgi.input": wsgi_input,
|
||||
@ -105,9 +101,9 @@ class HTTPRequest(object):
|
||||
"REQUEST_METHOD": self.parser.method,
|
||||
"PATH_INFO": unquote(path_info),
|
||||
"QUERY_STRING": query,
|
||||
"RAW_URI": self.path,
|
||||
"CONTENT_TYPE": self.headers.get('CONTENT-TYPE', ''),
|
||||
"CONTENT_LENGTH": wsgi_input.len,
|
||||
"RAW_URI": self.parser.path,
|
||||
"CONTENT_TYPE": headers.get('Content-Type', ''),
|
||||
"CONTENT_LENGTH": str(wsgi_input.len),
|
||||
"REMOTE_ADDR": self.client_address[0],
|
||||
"REMOTE_PORT": self.client_address[1],
|
||||
"SERVER_NAME": self.server_address[0],
|
||||
@ -115,7 +111,7 @@ class HTTPRequest(object):
|
||||
"SERVER_PROTOCOL": self.parser.version
|
||||
}
|
||||
|
||||
for key, value in self.headers.items():
|
||||
for key, value in headers.items():
|
||||
key = 'HTTP_' + key.upper().replace('-', '_')
|
||||
if key not in ('HTTP_CONTENT_TYPE', 'HTTP_CONTENT_LENGTH'):
|
||||
environ[key] = value
|
||||
@ -151,10 +147,4 @@ class HTTPRequest(object):
|
||||
if not isinstance(value, basestring):
|
||||
value = str(value)
|
||||
self.response_headers[name] = value.strip()
|
||||
self.start_response_called = True
|
||||
|
||||
def write(self, data):
|
||||
self.io.write(send)
|
||||
|
||||
def close(self):
|
||||
self.socket.close()
|
||||
self.start_response_called = True
|
||||
@ -33,13 +33,10 @@ class HTTPResponse(object):
|
||||
self.data = data
|
||||
self.headers = self.req.response_headers or {}
|
||||
|
||||
def write(self, data):
|
||||
self.req.socket.send(data)
|
||||
|
||||
def send(self):
|
||||
# send headers
|
||||
resp_head = []
|
||||
resp_head.append("%s %ss\r\n" % (self.req.version, self.req.response_status))
|
||||
resp_head.append("%s %ss\r\n" % (self.req.parser.version, self.req.response_status))
|
||||
|
||||
resp_head.append("Server: %s\r\n" % self.req.SERVER_VERSION)
|
||||
resp_head.append("Date: %s\r\n" % http_date())
|
||||
@ -49,13 +46,13 @@ class HTTPResponse(object):
|
||||
resp_head.append("Connection: close\r\n")
|
||||
for name, value in self.req.response_headers.items():
|
||||
resp_head.append("%s: %s\r\n" % (name, value))
|
||||
self.write("%s\r\n" % "".join(resp_head))
|
||||
self.req.socket.send("%s\r\n" % "".join(resp_head))
|
||||
|
||||
for chunk in self.data:
|
||||
self.write(chunk)
|
||||
|
||||
self.req.close()
|
||||
self.req.socket.send(chunk)
|
||||
|
||||
self.req.socket.close()
|
||||
|
||||
if hasattr(self.data, "close"):
|
||||
self.data.close()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user