summaryrefslogtreecommitdiffstats
path: root/Lib/urllib2.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/urllib2.py')
-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()