Fix Issue8656 - urllib2 mangles file://-scheme URLs

This commit is contained in:
Senthil Kumaran 2010-05-08 03:11:50 +00:00
parent badc709847
commit 6057ba1f97
2 changed files with 3 additions and 2 deletions

View File

@ -679,7 +679,7 @@ class HandlerTests(unittest.TestCase):
try:
data = r.read()
headers = r.info()
newurl = r.geturl()
respurl = r.geturl()
finally:
r.close()
stats = os.stat(TESTFN)
@ -690,6 +690,7 @@ class HandlerTests(unittest.TestCase):
self.assertEqual(headers["Content-type"], "text/plain")
self.assertEqual(headers["Content-length"], "13")
self.assertEqual(headers["Last-modified"], modified)
self.assertEqual(respurl, url)
for url in [
"file://localhost:80%s" % urlpath,

View File

@ -1291,7 +1291,7 @@ class FileHandler(BaseHandler):
if not host or \
(not port and socket.gethostbyname(host) in self.get_names()):
return addinfourl(open(localfile, 'rb'),
headers, 'file:'+file)
headers, 'file://'+ host + file)
except OSError, msg:
# urllib2 users shouldn't expect OSErrors coming from urlopen()
raise URLError(msg)