diff options
-rw-r--r-- | Lib/http/server.py | 2 | ||||
-rw-r--r-- | Lib/test/test_httpservers.py | 6 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/Lib/http/server.py b/Lib/http/server.py index 2bfda12..7050b95 100644 --- a/Lib/http/server.py +++ b/Lib/http/server.py @@ -355,7 +355,7 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler): """ self.send_response_only(100) - self.flush_headers() + self.end_headers() return True def handle_one_request(self): diff --git a/Lib/test/test_httpservers.py b/Lib/test/test_httpservers.py index 9dd2778..dfccb6b 100644 --- a/Lib/test/test_httpservers.py +++ b/Lib/test/test_httpservers.py @@ -563,7 +563,8 @@ class BaseHTTPRequestHandlerTestCase(unittest.TestCase): def test_with_continue_1_1(self): result = self.send_typical_request(b'GET / HTTP/1.1\r\nExpect: 100-continue\r\n\r\n') self.assertEqual(result[0], b'HTTP/1.1 100 Continue\r\n') - self.assertEqual(result[1], b'HTTP/1.1 200 OK\r\n') + self.assertEqual(result[1], b'\r\n') + self.assertEqual(result[2], b'HTTP/1.1 200 OK\r\n') self.verify_expected_headers(result[2:-1]) self.verify_get_called() self.assertEqual(result[-1], b'<html><body>Data</body></html>\r\n') @@ -631,7 +632,8 @@ class BaseHTTPRequestHandlerTestCase(unittest.TestCase): self.assertNotEqual(_readAndReseek(output), b'') result = _readAndReseek(output).split(b'\r\n') self.assertEqual(result[0], b'HTTP/1.1 100 Continue') - self.assertEqual(result[1], b'HTTP/1.1 200 OK') + self.assertEqual(result[1], b'') + self.assertEqual(result[2], b'HTTP/1.1 200 OK') def test_with_continue_rejected(self): usual_handler = self.handler # Save to avoid breaking any subsequent tests. @@ -43,6 +43,9 @@ Core and Builtins Library ------- +- Issue #18574: Fixed handling of 100-continue reply from server in + http.client.HTTPConnection. Patch by Nikolaus Rath. + - Issue #20270: urllib.urlparse now supports empty ports. - Issue #20243: TarFile no longer raise ReadError when opened in write mode. |