mirror of
https://github.com/python/cpython.git
synced 2025-07-28 13:44:43 +00:00
Issue 1224. Now we support again the double slash in the URL.
Thanks Anthony Lenton.
This commit is contained in:
parent
759bfc6207
commit
d14600ec94
3 changed files with 45 additions and 1 deletions
|
@ -146,7 +146,8 @@ class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
|||
|
||||
"""
|
||||
# abandon query parameters
|
||||
path = urlparse.urlparse(path)[2]
|
||||
path = path.split('?',1)[0]
|
||||
path = path.split('#',1)[0]
|
||||
path = posixpath.normpath(urllib.unquote(path))
|
||||
words = path.split('/')
|
||||
words = filter(None, words)
|
||||
|
|
41
Lib/test/test_SimpleHTTPServer.py
Normal file
41
Lib/test/test_SimpleHTTPServer.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
"""
|
||||
These tests only check url parsing for now.
|
||||
We don't want to require the 'network' resource.
|
||||
"""
|
||||
|
||||
import os, unittest
|
||||
from SimpleHTTPServer import SimpleHTTPRequestHandler
|
||||
from test import test_support
|
||||
|
||||
|
||||
class SocketlessRequestHandler (SimpleHTTPRequestHandler):
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
class SimpleHTTPRequestHandlerTestCase(unittest.TestCase):
|
||||
""" Test url parsing """
|
||||
def setUp (self):
|
||||
self.translated = os.getcwd()
|
||||
self.translated = os.path.join(self.translated, 'filename')
|
||||
self.handler = SocketlessRequestHandler ()
|
||||
|
||||
def test_queryArguments (self):
|
||||
path = self.handler.translate_path ('/filename')
|
||||
self.assertEquals (path, self.translated)
|
||||
path = self.handler.translate_path ('/filename?foo=bar')
|
||||
self.assertEquals (path, self.translated)
|
||||
path = self.handler.translate_path ('/filename?a=b&spam=eggs#zot')
|
||||
self.assertEquals (path, self.translated)
|
||||
|
||||
def test_startWithDoubleSlash (self):
|
||||
path = self.handler.translate_path ('//filename')
|
||||
self.assertEquals (path, self.translated)
|
||||
path = self.handler.translate_path ('//filename?foo=bar')
|
||||
self.assertEquals (path, self.translated)
|
||||
|
||||
|
||||
def test_main():
|
||||
test_support.run_unittest(SimpleHTTPRequestHandlerTestCase)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_main()
|
|
@ -416,6 +416,8 @@ Library
|
|||
|
||||
- Issue #1916. Added isgenerator() and isgeneratorfunction() to inspect.py.
|
||||
|
||||
- #1224: Fixed bad url parsing when path begins with double slash.
|
||||
|
||||
- ctypes instances that are not or do not contain pointers can now be
|
||||
pickled.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue