New submission from Jacky:

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)

----------
components: Library (Lib)
files: zzz.py
messages: 259122
nosy: Jacky
priority: normal
severity: normal
status: open
title: HTTPResponse.close() should consume all remaining data in body if any
type: enhancement
versions: Python 2.7
Added file: http://bugs.python.org/file41742/zzz.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue26231>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to