diff --git a/Lib/http/client.py b/Lib/http/client.py index 604577cd7b2..49060079729 100644 --- a/Lib/http/client.py +++ b/Lib/http/client.py @@ -778,7 +778,7 @@ class HTTPConnection: self.sock.sendall(d) else: raise TypeError("data should be a bytes-like object\ - or an iterable, got %r " % type(it)) + or an iterable, got %r " % type(data)) def _output(self, s): """Add a line of output to the current request buffer. diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py index 890b1b9028c..ce9e34638ac 100644 --- a/Lib/test/test_httplib.py +++ b/Lib/test/test_httplib.py @@ -246,6 +246,13 @@ class BasicTest(TestCase): conn.request('GET', '/foo', body(), {'Content-Length': '11'}) self.assertEqual(sock.data, expected) + def test_send_type_error(self): + # See: Issue #12676 + conn = client.HTTPConnection('example.com') + conn.sock = FakeSocket('') + with self.assertRaises(TypeError): + conn.request('POST', 'test', conn) + def test_chunked(self): chunked_start = ( 'HTTP/1.1 200 OK\r\n'