diff options
author | Bert JW Regeer <bertjw@regeer.org> | 2022-04-21 11:37:58 -0600 |
---|---|---|
committer | Bert JW Regeer <bertjw@regeer.org> | 2022-04-21 11:48:25 -0600 |
commit | 905118c89ca4926628b105dbc0bece7d756d2ece (patch) | |
tree | e9caaed1116986180a56feb39acc9c885fe07c48 /tests | |
parent | 603d2c12ce09fcd1be0b7a5734b4fca339820286 (diff) | |
download | waitress-905118c89ca4926628b105dbc0bece7d756d2ece.tar.gz |
Add failing test for header size calculation
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_parser.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py index 4461bde..9e9f1cd 100644 --- a/tests/test_parser.py +++ b/tests/test_parser.py @@ -106,6 +106,18 @@ class TestHTTPRequestParser(unittest.TestCase): self.assertTrue(self.parser.completed) self.assertTrue(isinstance(self.parser.error, RequestEntityTooLarge)) + def test_received_headers_not_too_large_multiple_chunks(self): + + data = b"GET /foobar HTTP/8.4\r\nX-Foo: 1\r\n" + data2 = b"X-Foo-Other: 3\r\n\r\n" + self.parser.adj.max_request_header_size = len(data) + len(data2) + 1 + result = self.parser.received(data) + self.assertEqual(result, 32) + result = self.parser.received(data2) + self.assertEqual(result, 18) + self.assertTrue(self.parser.completed) + self.assertFalse(self.parser.error) + def test_received_headers_too_large(self): self.parser.adj.max_request_header_size = 2 |