Demian Brecht added the comment:

Issue 8280 reports the error by way of urlopen(). In light of that, would it 
not make more sense to have the *Opener be responsible for determining which 
parts of the url should be used?

i.e. request.py, line ~1255:

r.url = req.get_full_url()

might instead be

r.url = req.full_url.split('#')[0]

To me, it would make more sense to have the client code (in this case, meaning 
the consumer of the Request object, which is the *Opener) be smart enough to 
know what parts of the url should be used in the HTTP request than to have the 
Request object have inconsistencies in the set and subsequent get values for 
full_url.

I wouldn't have an issue at all with adding a new patch that (on top of 
implementing full_url):

1. Adds identical tests to get_full_url for full_url
2. Changes the client code in *Opener (and anywhere else known to exhibit the 
same behaviour) to strip the URL fragment for the HTTP request

I don't believe that this change would be any more of a backwards compatibility 
risk than what's currently in the patch as the logic in terms of urlopen is 
kept. The risk of dependencies on fragment-less full_urls however, would remain.

----------

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

Reply via email to