Hello all,

This is my first stab at contributing to this list. I'm writing to lobby for 
bug #8797's fix to be removed and for my fix to put in in its place. I'm 
probably doing this wrong, so please bear with me. I will embrace whatever 
scathing criticism I get.

The ticket covers all the details (http://bugs.python.org/issue8797#) but I'll 
try to summarize here:

In 2.6.5, urllib2 had a small regression that caused HTTP 401 errors to trigger 
an infinite recursion when the request handler had HTTP Auth credentials that 
the server was rejecting.

Previously, urllib2 avoided this loop by checking the previous request's 
headers to see if it had already tried the credentials it was about to try. If 
it had, it would re-raise the exception instead of trying again.

The current fix adds a "max retries" concept to urllib2's handling of HTTP 401 
errors so that the code will only retry a certain number of times.

To me, the original logic of only trying once for each set of credentials was 
sound, and it looks like the only reason this stopped working was that in 2.6.5 
the auth header wasn't being stored in the same place as the code was expecting 
to find it.

I think it makes sense to revisit this issue and swap out the existing fix for 
my fix because it's tidier and doesn't introduce this new "max retries" 
functionality.

Please let me know what you think.

Thanks,

Sam Bull
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to