summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2001-08-07 21:12:25 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2001-08-07 21:12:25 (GMT)
commit54e99e8b3bba4e2fb51dd25e54356c16f84b722b (patch)
tree67aa886f89d8768ac4f6f4822802d39d7ab9f6a8
parent16fd3381d4e5ba884c5b9e5135a1d7cc5e5e9a2c (diff)
downloadcpython-54e99e8b3bba4e2fb51dd25e54356c16f84b722b.zip
cpython-54e99e8b3bba4e2fb51dd25e54356c16f84b722b.tar.gz
cpython-54e99e8b3bba4e2fb51dd25e54356c16f84b722b.tar.bz2
Fix SF bug [ #447370 ] typo in urllib2.py
Also fix another bug caught by pychecker-- HTTPError() raised when redirect limit exceed did not pass an fp object. Had to change method to keep fp object around until it's certain that the error won't be raised. Remove useless line in do_proxy().
-rw-r--r--Lib/urllib2.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index 5738779..063e53d 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -436,9 +436,6 @@ class HTTPRedirectHandler(BaseHandler):
newurl = headers['uri']
else:
return
- nil = fp.read()
- fp.close()
-
newurl = urlparse.urljoin(req.get_full_url(), newurl)
# XXX Probably want to forget about the state of the current
@@ -450,9 +447,15 @@ class HTTPRedirectHandler(BaseHandler):
if len(req.error_302_dict)>10 or \
req.error_302_dict.has_key(newurl):
raise HTTPError(req.get_full_url(), code,
- self.inf_msg + msg, headers)
+ self.inf_msg + msg, headers, fp)
new.error_302_dict.update(req.error_302_dict)
new.error_302_dict[newurl] = newurl
+
+ # Don't close the fp until we are sure that we won't use it
+ # with HTTPError.
+ fp.read()
+ fp.close()
+
return self.parent.open(new)
http_error_301 = http_error_302
@@ -525,7 +528,6 @@ class CustomProxyHandler(BaseHandler):
return None
def do_proxy(self, p, req):
- p
return self.parent.open(req)
def add_proxy(self, cpo):
@@ -659,7 +661,7 @@ class AbstractDigestAuthHandler:
def __init__(self, passwd=None):
if passwd is None:
- passwd = HTTPPassowrdMgr()
+ passwd = HTTPPasswordMgr()
self.passwd = passwd
self.add_password = self.passwd.add_password
self.__current_realm = None
@@ -1051,7 +1053,7 @@ class OpenerFactory:
pass
def build_opener(self):
- opener = OpenerDirectory()
+ opener = OpenerDirector()
for ph in self.proxy_handlers:
if type(ph) == types.ClassType:
ph = ph()