diff options
-rw-r--r-- | Lib/http/client.py | 5 | ||||
-rw-r--r-- | Lib/http/server.py | 3 |
2 files changed, 4 insertions, 4 deletions
diff --git a/Lib/http/client.py b/Lib/http/client.py index 1fe010c..5e091b8 100644 --- a/Lib/http/client.py +++ b/Lib/http/client.py @@ -213,7 +213,6 @@ class HTTPMessage(email.message.Message): occurrences are returned. Case is not important in the header name. """ - # XXX: copied from rfc822.Message for compatibility name = name.lower() + ':' n = len(name) lst = [] @@ -227,7 +226,7 @@ class HTTPMessage(email.message.Message): lst.append(line) return lst -def parse_headers(fp): +def parse_headers(fp, _class=HTTPMessage): """Parses only RFC2822 headers from a file pointer. email Parser wants to see strings rather than bytes. @@ -245,7 +244,7 @@ def parse_headers(fp): break hstring = b''.join(headers).decode('iso-8859-1') - return email.parser.Parser(_class=HTTPMessage).parsestr(hstring) + return email.parser.Parser(_class=_class).parsestr(hstring) class HTTPResponse(io.RawIOBase): diff --git a/Lib/http/server.py b/Lib/http/server.py index 897908e..31153f4 100644 --- a/Lib/http/server.py +++ b/Lib/http/server.py @@ -313,7 +313,8 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler): self.command, self.path, self.request_version = command, path, version # Examine the headers and look for a Connection directive. - self.headers = http.client.parse_headers(self.rfile) + self.headers = http.client.parse_headers(self.rfile, + _class=self.MessageClass) conntype = self.headers.get('Connection', "") if conntype.lower() == 'close': |