File tree Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Expand file tree Collapse file tree 2 files changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -103,7 +103,7 @@ def received(self, data):
103103 # If the headers have ended, and we also have part of the body
104104 # message in data we still want to validate we aren't going
105105 # over our limit for received headers.
106- self .header_bytes_received + = index
106+ self .header_bytes_received = index
107107 consumed = datalen - (len (s ) - index )
108108 else :
109109 self .header_bytes_received += datalen
Original file line number Diff line number Diff line change @@ -106,6 +106,18 @@ def test_received_cl_too_large(self):
106106 self .assertTrue (self .parser .completed )
107107 self .assertTrue (isinstance (self .parser .error , RequestEntityTooLarge ))
108108
109+ def test_received_headers_not_too_large_multiple_chunks (self ):
110+
111+ data = b"GET /foobar HTTP/8.4\r \n X-Foo: 1\r \n "
112+ data2 = b"X-Foo-Other: 3\r \n \r \n "
113+ self .parser .adj .max_request_header_size = len (data ) + len (data2 ) + 1
114+ result = self .parser .received (data )
115+ self .assertEqual (result , 32 )
116+ result = self .parser .received (data2 )
117+ self .assertEqual (result , 18 )
118+ self .assertTrue (self .parser .completed )
119+ self .assertFalse (self .parser .error )
120+
109121 def test_received_headers_too_large (self ):
110122
111123 self .parser .adj .max_request_header_size = 2
You can’t perform that action at this time.
0 commit comments