merge 3.3 (#18574)
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 7b577b4..f170747 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -355,7 +355,7 @@
"""
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 b2bce1c..e758cb9 100644
--- a/Lib/test/test_httpservers.py
+++ b/Lib/test/test_httpservers.py
@@ -584,7 +584,8 @@
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')
@@ -652,7 +653,8 @@
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.
diff --git a/Misc/ACKS b/Misc/ACKS
index e2f990e..76cc888 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1052,6 +1052,7 @@
Brodie Rao
Senko Rasic
Antti Rasinen
+Nikolaus Rath
Sridhar Ratnakumar
Ysj Ray
Eric S. Raymond
diff --git a/Misc/NEWS b/Misc/NEWS
index 25eb033..3159881 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -25,6 +25,9 @@
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.