[issue26231] HTTPResponse.close() should consume all remaining data in body if any

Jacky report at bugs.python.org
Thu Jan 28 05:43:17 EST 2016


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 <report at bugs.python.org>
<http://bugs.python.org/issue26231>
_______________________________________


More information about the Python-bugs-list mailing list