From acc03195b0609490a4e5f8b1d9eb504c22c6526e Mon Sep 17 00:00:00 2001 From: Martin Panter Date: Sun, 3 Apr 2016 00:45:46 +0000 Subject: Issue #26586: Handle excessive header fields in http.server, by Xiang Zhang --- Lib/test/test_httpservers.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Lib/test/test_httpservers.py') diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py index d4c8eabd42..b71fa5e851 100644 --- a/Lib/test/test_httpservers.py +++ b/Lib/test/test_httpservers.py @@ -858,6 +858,13 @@ class BaseHTTPRequestHandlerTestCase(unittest.TestCase): self.assertFalse(self.handler.get_called) self.assertEqual(self.handler.requestline, 'GET / HTTP/1.1') + def test_too_many_headers(self): + result = self.send_typical_request( + b'GET / HTTP/1.1\r\n' + b'X-Foo: bar\r\n' * 101 + b'\r\n') + self.assertEqual(result[0], b'HTTP/1.1 431 Too many headers\r\n') + self.assertFalse(self.handler.get_called) + self.assertEqual(self.handler.requestline, 'GET / HTTP/1.1') + def test_close_connection(self): # handle_one_request() should be repeatedly called until # it sets close_connection -- cgit v1.2.1