mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +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 @@ def translate_path(self, path): | |||
| 
 | ||||
|         """ | ||||
|         # 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
	
	 Facundo Batista
						Facundo Batista