Fix closes Issue12676 - Invalid identifier used in TypeError message in http.client.
Reported by Popa Claudiu and Patch by Santoso Wijaya.
diff --git a/Lib/http/client.py b/Lib/http/client.py
index 604577c..4906007 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -778,7 +778,7 @@
                     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 890b1b9..ce9e346 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -246,6 +246,13 @@
         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'