Stricter verification for file based url scheme and reliance on ftp protocol.
This commit is contained in:
parent
0d62f5bbfe
commit
2ef16328e8
|
@ -731,6 +731,8 @@ class HandlerTests(unittest.TestCase):
|
|||
("file://ftp.example.com///foo.txt", False),
|
||||
# XXXX bug: fails with OSError, should be URLError
|
||||
("file://ftp.example.com/foo.txt", False),
|
||||
("file://somehost//foo/something.txt", True),
|
||||
("file://localhost//foo/something.txt", False),
|
||||
]:
|
||||
req = Request(url)
|
||||
try:
|
||||
|
@ -741,6 +743,7 @@ class HandlerTests(unittest.TestCase):
|
|||
else:
|
||||
self.assertTrue(o.req is req)
|
||||
self.assertEqual(req.type, "ftp")
|
||||
self.assertEqual(req.type is "ftp", ftp)
|
||||
|
||||
def test_http(self):
|
||||
|
||||
|
|
|
@ -1188,7 +1188,8 @@ class FileHandler(BaseHandler):
|
|||
# Use local file or FTP depending on form of URL
|
||||
def file_open(self, req):
|
||||
url = req.selector
|
||||
if url[:2] == '//' and url[2:3] != '/':
|
||||
if url[:2] == '//' and url[2:3] != '/' and (req.host and
|
||||
req.host != 'localhost'):
|
||||
req.type = 'ftp'
|
||||
return self.parent.open(req)
|
||||
else:
|
||||
|
|
Loading…
Reference in New Issue