Index: Lib/test/test_httplib.py =================================================================== --- Lib/test/test_httplib.py (revision 69418) +++ Lib/test/test_httplib.py (working copy) @@ -198,6 +198,17 @@ self.assertEquals(resp.read(), 'Hello\r\n') resp.close() + def test_fileno(self): + sock = FakeSocket('HTTP/1.1 200 OK\r\n' + 'Content-Length: -1\r\n\r\nHello\r\n') + resp = httplib.HTTPResponse(sock, method="GET") + resp.fp.fileno = None + try: + resp.fileno + except AttributeError: + self.fail('HTTPResponse should delegate "fileno" self.fp') + finally: + resp.close() class OfflineTest(TestCase): def test_responses(self): Index: Lib/httplib.py =================================================================== --- Lib/httplib.py (revision 69418) +++ Lib/httplib.py (working copy) @@ -642,7 +642,14 @@ raise ResponseNotReady() return self.msg.items() + @property + def fileno(self): + return self.fp.fileno + @fileno.setter + def fileno(self, value): + self.fp.fileno = value + class HTTPConnection: _http_vsn = 11