fix request line check. close #390

We never had the possibility to check the limit since we were quitting
the loop before it.
This commit is contained in:
benoitc 2012-08-03 06:27:26 +02:00
parent db8cd1f74b
commit 4b478e1a66

View File

@ -165,13 +165,14 @@ class Request(Message):
idx = data.find("\r\n")
if idx >= 0:
break
if len(data) - 2 > self.limit_request_line > 0:
raise LimitRequestLine(len(data), self.limit_request_line)
self.get_data(unreader, buf)
data = buf.getvalue()
# check if the request line is too large
if len(data) - 2 > self.limit_request_line and \
self.limit_request_line> 0 :
raise LimitRequestLine(len(data), self.limit_request_line)
self.parse_request_line(data[:idx])
buf = StringIO()
buf.write(data[idx+2:]) # Skip \r\n