378 self.assertFalse(con.sock.closed) |
378 self.assertFalse(con.sock.closed) |
379 self.assert_(con.sock.remote_closed) |
379 self.assert_(con.sock.remote_closed) |
380 con.request('GET', '/') |
380 con.request('GET', '/') |
381 self.assertEqual(2, len(sockets)) |
381 self.assertEqual(2, len(sockets)) |
382 |
382 |
|
383 def test_server_closes_before_end_of_body(self): |
|
384 con = http.HTTPConnection('1.2.3.4:80') |
|
385 con._connect() |
|
386 s = con.sock |
|
387 s.data = ['HTTP/1.1 200 OK\r\n', |
|
388 'Server: BogusServer 1.0\r\n', |
|
389 'Connection: Keep-Alive\r\n', |
|
390 'Content-Length: 16', |
|
391 '\r\n\r\n', |
|
392 'You can '] # Note: this is shorter than content-length |
|
393 s.close_on_empty = True |
|
394 con.request('GET', '/') |
|
395 r1 = con.getresponse() |
|
396 self.assertRaises(http.HTTPRemoteClosedError, r1.read) |
|
397 |
383 def test_no_response_raises_response_not_ready(self): |
398 def test_no_response_raises_response_not_ready(self): |
384 con = http.HTTPConnection('foo') |
399 con = http.HTTPConnection('foo') |
385 self.assertRaises(http.httplib.ResponseNotReady, con.getresponse) |
400 self.assertRaises(http.httplib.ResponseNotReady, con.getresponse) |
386 # no-check-code |
401 # no-check-code |