Message259122
HTTPResponse.close() in httplib should consume all remaining data in body if any. Or the followed request would get the unread content from the previous request, which result in the wrong result.
The following code shown that the second request will get a wrong status code if calling HTTPResponse.close() on the first response.
The whole code consists of a HTTP server and a client. The server will always return 403 for testing.
def client():
conn = httplib.HTTPConnection(HOST, PORT)
conn.request('GET', PATH, None, headers={})
rsp = conn.getresponse()
print rsp.status
rsp.close() # close response
conn.request('GET', PATH, None, headers={})
rsp2 = conn.getresponse()
print rsp2.status # --> should be 403
The full version see the attached file (The server used Tornado) |
|
Date |
User |
Action |
Args |
2016-01-28 10:43:17 | Jacky | set | recipients:
+ Jacky |
2016-01-28 10:43:17 | Jacky | set | messageid: <1453977797.39.0.133146806463.issue26231@psf.upfronthosting.co.za> |
2016-01-28 10:43:17 | Jacky | link | issue26231 messages |
2016-01-28 10:43:17 | Jacky | create | |
|