From: Senthil Kumaran Date: Tue, 5 Mar 2013 09:26:33 +0000 (-0800) Subject: Fix Issue #12921: BaseHTTPServer's send_error should send the correct error X-Git-Tag: v3.4.0a1~1275 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=24431f180203905ab882c18c7149d903b6b3c629;p=thirdparty%2FPython%2Fcpython.git Fix Issue #12921: BaseHTTPServer's send_error should send the correct error response message when send_error includes a message in addition to error status. Patch contributed by Karl. --- 24431f180203905ab882c18c7149d903b6b3c629 diff --cc Lib/http/server.py index 1873b13105e1,18a51fe5b772..bb64ca6fafd3 --- a/Lib/http/server.py +++ b/Lib/http/server.py @@@ -425,14 -425,12 +425,14 @@@ class BaseHTTPRequestHandler(socketserv # using _quote_html to prevent Cross Site Scripting attacks (see bug #1100201) content = (self.error_message_format % {'code': code, 'message': _quote_html(message), 'explain': explain}) + body = content.encode('UTF-8', 'replace') - self.send_response(code, message) + self.send_response(code, shortmsg) self.send_header("Content-Type", self.error_content_type) self.send_header('Connection', 'close') + self.send_header('Content-Length', int(len(body))) self.end_headers() if self.command != 'HEAD' and code >= 200 and code not in (204, 304): - self.wfile.write(content.encode('UTF-8', 'replace')) + self.wfile.write(body) def send_response(self, code, message=None): """Add the response header to the headers buffer and log the