This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2015年02月10日 22:41 by martin.panter, last changed 2022年04月11日 14:58 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| http.client-all.patch | martin.panter, 2015年02月10日 22:42 | review | ||
| http.client-all.v2.patch | martin.panter, 2015年02月15日 02:33 | review | ||
| http.client-all.v3.patch | martin.panter, 2015年02月20日 04:14 | review | ||
| Messages (11) | |||
|---|---|---|---|
| msg235719 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年02月10日 22:41 | |
This patch was split off my patch for Issue 3566, since it should be less controversial. It adds the HTTPMessage class and the parse_headers() function to __all__. I’m not too sure on the status of the parse_headers() function. It is not mentioned in the "http.client" documentation, but is referenced by the "http.server" module’s BaseHTTPRequestHandler.headers entry. Perhaps it should be left unexported? |
|||
| msg235771 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年02月11日 21:49 | |
Actually, maybe I should add all those status codes as well, like http.client.OK. Will probably require different patches for 3.4 and 3.5. |
|||
| msg235772 - (view) | Author: Berker Peksag (berker.peksag) * (Python committer) | Date: 2015年02月11日 21:57 | |
It's not that important in my opinion. Let's keep it simple for now :) |
|||
| msg235774 - (view) | Author: Demian Brecht (demian.brecht) * (Python triager) | Date: 2015年02月11日 22:30 | |
The only real question I have is: why? As far as I'm aware, these are implementation details of the http.client module (there's even a comment in HTTPMessage that it might make sense to move the class altogether). As far as the constants go, they're only there for backwards compatibility and http.HTTPStatus should be preferred. In light of that and the fact that they were not previously in __all__, I agree with Berker about keeping this simple for now. On Wed, Feb 11, 2015, 13:57 Berker Peksag <report@bugs.python.org> wrote: > > Berker Peksag added the comment: > > It's not that important in my opinion. Let's keep it simple for now :) > > ---------- > > _______________________________________ > Python tracker <report@bugs.python.org> > <http://bugs.python.org/issue23439> > _______________________________________ > |
|||
| msg235858 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年02月12日 22:09 | |
I don’t have a strong opinion about changing __all__ in these cases. I only noticed the potential problem when I went to add a new class to the module, and thought this was common practice. If we leave it as it is, it would be good to add comment in the source code explaining this decision. Also the test case could still be useful to catch future bugs. The currently situation means the status constants are be missing from pydoc help output, and are not available when you do "from http.client import *" in the interactive interpreter. HTTPMessage is a strange class indeed; see Issue 5053. But it is referenced a few times by the documentation, so I originally assumed it should be in __all__. |
|||
| msg235868 - (view) | Author: Demian Brecht (demian.brecht) * (Python triager) | Date: 2015年02月13日 01:13 | |
> If we leave it as it is, it would be good to add comment in the source code explaining this decision. I think that __all__ should be left as-is for the time being. Adding some comments around that decision makes sense to me to avoid any future confusion around that. > Also the test case could still be useful to catch future bugs. Agreed. I've added a couple minor comments to the review. Thanks for the work on this! |
|||
| msg236017 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年02月15日 02:33 | |
Posting a new patch which explicitly omits HTTPMessage, parse_headers(), and the status codes. Also added and documented the LineTooLong exception. It is already somewhat covered in the test suite. See also Issue 21257 about the status of parse_headers(). |
|||
| msg236226 - (view) | Author: Demian Brecht (demian.brecht) * (Python triager) | Date: 2015年02月19日 17:11 | |
Left a super minor comment in Rietveld, but otherwise LGTM. |
|||
| msg236250 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年02月20日 04:14 | |
Posting v3 patch that changes from a list to a set of expected API names |
|||
| msg236255 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2015年02月20日 07:44 | |
New changeset 21b31f5438ae by Berker Peksag in branch '3.4': Issue #23439: Add missing entries to http.client.__all__. https://hg.python.org/cpython/rev/21b31f5438ae New changeset 95533c9edaaf by Berker Peksag in branch 'default': Issue #23439: Add missing entries to http.client.__all__. https://hg.python.org/cpython/rev/95533c9edaaf |
|||
| msg236256 - (view) | Author: Berker Peksag (berker.peksag) * (Python committer) | Date: 2015年02月20日 07:46 | |
Committed now. Thanks for the patch, Martin and thanks for the review, Demian. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:12 | admin | set | github: 67627 |
| 2015年02月20日 07:46:10 | berker.peksag | set | status: open -> closed resolution: fixed messages: + msg236256 stage: patch review -> resolved |
| 2015年02月20日 07:44:19 | python-dev | set | nosy:
+ python-dev messages: + msg236255 |
| 2015年02月20日 04:14:23 | martin.panter | set | files:
+ http.client-all.v3.patch messages: + msg236250 |
| 2015年02月19日 17:11:13 | demian.brecht | set | messages: + msg236226 |
| 2015年02月15日 02:33:24 | martin.panter | set | files:
+ http.client-all.v2.patch messages: + msg236017 |
| 2015年02月13日 01:13:27 | demian.brecht | set | messages: + msg235868 |
| 2015年02月12日 22:09:02 | martin.panter | set | messages: + msg235858 |
| 2015年02月11日 22:30:04 | demian.brecht | set | messages: + msg235774 |
| 2015年02月11日 21:57:42 | berker.peksag | set | messages: + msg235772 |
| 2015年02月11日 21:49:40 | martin.panter | set | messages: + msg235771 |
| 2015年02月11日 21:24:52 | demian.brecht | set | nosy:
+ demian.brecht |
| 2015年02月11日 13:21:43 | berker.peksag | set | nosy:
+ berker.peksag stage: patch review versions: + Python 3.4, Python 3.5 |
| 2015年02月10日 22:42:04 | martin.panter | set | files:
+ http.client-all.patch keywords: + patch |
| 2015年02月10日 22:41:51 | martin.panter | create | |