mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
again no need to iter headers. Get the values we need the first time
This commit is contained in:
parent
08fe410fb3
commit
2b0f37b6b1
@ -20,6 +20,8 @@ class Message(object):
|
|||||||
self.unreader = unreader
|
self.unreader = unreader
|
||||||
self.version = None
|
self.version = None
|
||||||
self.connection_hdr = None
|
self.connection_hdr = None
|
||||||
|
self.chunked = False
|
||||||
|
self.clength = None
|
||||||
self.headers = []
|
self.headers = []
|
||||||
self.trailers = []
|
self.trailers = []
|
||||||
self.body = None
|
self.body = None
|
||||||
@ -59,31 +61,24 @@ class Message(object):
|
|||||||
|
|
||||||
if name == "CONNECTION":
|
if name == "CONNECTION":
|
||||||
self.connection_hdr = value
|
self.connection_hdr = value
|
||||||
|
elif name == "CONTENT-LENGTH":
|
||||||
|
try:
|
||||||
|
self.clength = int(value)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
elif name == "TRANSFER-ENCODING":
|
||||||
|
self.chunked = value.lower() == "chunked"
|
||||||
|
elif name == "SEC-WEBSOCKET-KEY1":
|
||||||
|
self.clength = 8
|
||||||
|
|
||||||
headers.append((name, value))
|
headers.append((name, value))
|
||||||
return headers
|
return headers
|
||||||
|
|
||||||
def set_body_reader(self):
|
def set_body_reader(self):
|
||||||
chunked = False
|
if self.chunked:
|
||||||
clength = None
|
|
||||||
for (name, value) in self.headers:
|
|
||||||
if name == "CONTENT-LENGTH":
|
|
||||||
try:
|
|
||||||
clength = int(value)
|
|
||||||
except ValueError:
|
|
||||||
clength = None
|
|
||||||
elif name == "TRANSFER-ENCODING":
|
|
||||||
chunked = value.lower() == "chunked"
|
|
||||||
elif name == "SEC-WEBSOCKET-KEY1":
|
|
||||||
clength = 8
|
|
||||||
|
|
||||||
if clength is not None or chunked:
|
|
||||||
break
|
|
||||||
|
|
||||||
if chunked:
|
|
||||||
self.body = Body(ChunkedReader(self, self.unreader))
|
self.body = Body(ChunkedReader(self, self.unreader))
|
||||||
elif clength is not None:
|
elif self.clength is not None:
|
||||||
self.body = Body(LengthReader(self.unreader, clength))
|
self.body = Body(LengthReader(self.unreader, self.clength))
|
||||||
else:
|
else:
|
||||||
self.body = Body(EOFReader(self.unreader))
|
self.body = Body(EOFReader(self.unreader))
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user