summaryrefslogtreecommitdiffstats
path: root/Lib/http/server.py
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2016-04-03 01:28:49 (GMT)
committerMartin Panter <vadmium+py@gmail.com>2016-04-03 01:28:49 (GMT)
commitb93e4b2480281ea17ec2b2ef8cbb42a94bf95066 (patch)
treebb39e62153cee42d8ba16bbef5787e7dec88328c /Lib/http/server.py
parent1862bb27698987d2b38f81c0e9459df4bf897139 (diff)
parentacc03195b0609490a4e5f8b1d9eb504c22c6526e (diff)
downloadcpython-b93e4b2480281ea17ec2b2ef8cbb42a94bf95066.zip
cpython-b93e4b2480281ea17ec2b2ef8cbb42a94bf95066.tar.gz
cpython-b93e4b2480281ea17ec2b2ef8cbb42a94bf95066.tar.bz2
Issue #26586: Merge excessive HTTP header handling from 3.5
Diffstat (limited to 'Lib/http/server.py')
-rw-r--r--Lib/http/server.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 5e91826..de6b531 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -338,6 +338,13 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
HTTPStatus.BAD_REQUEST,
"Line too long")
return False
+ except http.client.HTTPException as err:
+ self.send_error(
+ HTTPStatus.REQUEST_HEADER_FIELDS_TOO_LARGE,
+ "Too many headers",
+ str(err)
+ )
+ return False
conntype = self.headers.get('Connection', "")
if conntype.lower() == 'close':