Issue 22989: HTTPResponse.msg not as documented (original) (raw)

Issue22989

Created on 2014-12-03 18:45 by bastik, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (5)
msg232083 - (view) Author: (bastik) Date: 2014-12-03 18:45
HTTPResponse.msg is documented as a http.client.HTTPMessage object containing the headers of the response [1]. But in fact this is a string containing the status code: >>> import urllib.request >>> req=urllib.request.urlopen('http://heise.de') >>> content = req.read() >>> type(req.msg) <class 'str'> >>> req.msg 'OK' This value is apparently overriden in urllib/request.py: ./urllib/request.py:1246: # This line replaces the .msg attribute of the HTTPResponse ./urllib/request.py-1247- # with .headers, because urllib clients expect the response to ./urllib/request.py:1248: # have the reason in .msg. It would be good to mark this ./urllib/request.py-1249- # attribute is deprecated and get then to use info() or ./urllib/request.py-1250- # .headers. ./urllib/request.py:1251: r.msg = r.reason Anyhow, it should be documented, that is not safe to retrieve the headers with HTTPResponse.msg and maybe add HTTPResponse.headers to the documentation. [1] https://docs.python.org/3/library/http.client.html
msg232224 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2014-12-05 22:51
See Issue 21228 for a patch which documents the “.msg” hack, and that the info() method is available for HTTP responses. I think documenting the “.headers” attribute would be a bad idea, because it is introducing yet another way to do what the almost-documented info() method already does.
msg234943 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2015-01-29 03:59
Documenting the “headers” attribute is also discussed in Issue 12707
msg255406 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2015-11-26 11:07
New changeset fa3c9faabfb0 by Martin Panter in branch '3.4': Issues #22989, #21228: Document HTTP response object for urlopen() https://hg.python.org/cpython/rev/fa3c9faabfb0 New changeset b55c006b79bc by Martin Panter in branch '3.5': Issue #22989, #21228: Merge urlopen() doc from 3.4 into 3.5 https://hg.python.org/cpython/rev/b55c006b79bc New changeset c6930661599b by Martin Panter in branch 'default': Issue #22989, #21228: Merge urlopen() doc from 3.5 https://hg.python.org/cpython/rev/c6930661599b
msg255408 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2015-11-26 11:19
The documentation now mentions the “msg” quirk and the info() method.
History
Date User Action Args
2022-04-11 14:58:10 admin set github: 67178
2015-11-26 11:19:03 martin.panter set status: open -> closedversions: + Python 3.5, Python 3.6messages: + resolution: fixedstage: resolved
2015-11-26 11:07:15 python-dev set nosy: + python-devmessages: +
2015-01-29 03:59:05 martin.panter set messages: +
2014-12-05 22:51:03 martin.panter set nosy: + martin.pantermessages: +
2014-12-03 18:56:51 r.david.murray set nosy: + r.david.murray
2014-12-03 18:45:17 bastik create