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