mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Patch from SmileyChris. Fixed #7770. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13809 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """
 | |
| >>> from django.http import HttpRequest, HttpResponse
 | |
| >>> print repr(HttpRequest())
 | |
| <HttpRequest
 | |
| GET:{},
 | |
| POST:{},
 | |
| COOKIES:{},
 | |
| META:{}>
 | |
| 
 | |
| >>> from django.core.handlers.wsgi import WSGIRequest
 | |
| >>> print repr(WSGIRequest({'PATH_INFO': 'bogus', 'REQUEST_METHOD': 'bogus'}))
 | |
| <WSGIRequest
 | |
| GET:<QueryDict: {}>,
 | |
| POST:<QueryDict: {}>,
 | |
| COOKIES:{},
 | |
| META:{...}>
 | |
| 
 | |
| >>> from django.core.handlers.modpython import ModPythonRequest
 | |
| >>> class FakeModPythonRequest(ModPythonRequest):
 | |
| ...    def __init__(self, *args, **kwargs):
 | |
| ...        super(FakeModPythonRequest, self).__init__(*args, **kwargs)
 | |
| ...        self._get = self._post = self._meta = self._cookies = {}
 | |
| >>> class Dummy:
 | |
| ...     def get_options(self):
 | |
| ...         return {}
 | |
| >>> req = Dummy()
 | |
| >>> req.uri = 'bogus'
 | |
| >>> print repr(FakeModPythonRequest(req))
 | |
| <ModPythonRequest
 | |
| path:bogus,
 | |
| GET:{},
 | |
| POST:{},
 | |
| COOKIES:{},
 | |
| META:{}>
 | |
| 
 | |
| >>> from django.http import parse_cookie
 | |
| >>> parse_cookie('invalid:key=true')
 | |
| {}
 | |
| 
 | |
| >>> request = HttpRequest()
 | |
| >>> print request.build_absolute_uri(location="https://www.example.com/asdf")
 | |
| https://www.example.com/asdf
 | |
| >>> request.get_host = lambda: 'www.example.com'
 | |
| >>> request.path = ''
 | |
| >>> print request.build_absolute_uri(location="/path/with:colons")
 | |
| http://www.example.com/path/with:colons
 | |
| 
 | |
| 
 | |
| # Test cookie datetime expiration logic
 | |
| >>> from datetime import datetime, timedelta
 | |
| >>> delta = timedelta(seconds=10)
 | |
| >>> response = HttpResponse()
 | |
| >>> response.set_cookie('datetime', expires=datetime.utcnow()+delta)
 | |
| >>> datetime_cookie = response.cookies['datetime']
 | |
| >>> datetime_cookie['max-age']
 | |
| 10
 | |
| >>> response.set_cookie('datetime', expires=datetime(2028, 1, 1, 4, 5, 6))
 | |
| >>> response.cookies['datetime']['expires']
 | |
| 'Sat, 01-Jan-2028 04:05:06 GMT'
 | |
| 
 | |
| # Test automatically setting cookie expires if only max_age is provided 
 | |
| >>> response.set_cookie('max_age', max_age=10)
 | |
| >>> max_age_cookie = response.cookies['max_age']
 | |
| >>> max_age_cookie['max-age']
 | |
| 10
 | |
| >>> from django.utils.http import cookie_date
 | |
| >>> import time
 | |
| >>> max_age_cookie['expires'] == cookie_date(time.time()+10)
 | |
| True
 | |
| """
 |