summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_httplib.py
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2014-08-05 04:15:57 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2014-08-05 04:15:57 (GMT)
commitb7414e0fdb35d21612895cbb41f993808f755c40 (patch)
tree3d7b6ca0aeeec525bcedd5440a218582c2d832df /Lib/test/test_httplib.py
parentc468abafc7a8690be365d1eb192c4551b03c2856 (diff)
downloadcpython-b7414e0fdb35d21612895cbb41f993808f755c40.zip
cpython-b7414e0fdb35d21612895cbb41f993808f755c40.tar.gz
cpython-b7414e0fdb35d21612895cbb41f993808f755c40.tar.bz2
Issue #16037: HTTPMessage.readheaders() raises an HTTPException when more
than 100 headers are read. Patch by Jyrki Pulliainen and Daniel Eriksson.
Diffstat (limited to 'Lib/test/test_httplib.py')
-rw-r--r--Lib/test/test_httplib.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index 72800e5..4b2a638 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -262,6 +262,13 @@ class BasicTest(TestCase):
if resp.read() != "":
self.fail("Did not expect response from HEAD request")
+ def test_too_many_headers(self):
+ headers = '\r\n'.join('Header%d: foo' % i for i in xrange(200)) + '\r\n'
+ text = ('HTTP/1.1 200 OK\r\n' + headers)
+ s = FakeSocket(text)
+ r = httplib.HTTPResponse(s)
+ self.assertRaises(httplib.HTTPException, r.begin)
+
def test_send_file(self):
expected = 'GET /foo HTTP/1.1\r\nHost: example.com\r\n' \
'Accept-Encoding: identity\r\nContent-Length:'