mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #5595 -- Made ModPythonRequest.__repr__ return a string instead of a unicode object.  Fixes the printout of the request object in those server error e-mails I never get :)
				
					
				
			git-svn-id: http://code.djangoproject.com/svn/django/trunk@7200 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -6,7 +6,7 @@ from django.core import signals | ||||
| from django.core.handlers.base import BaseHandler | ||||
| from django.dispatch import dispatcher | ||||
| from django.utils import datastructures | ||||
| from django.utils.encoding import force_unicode | ||||
| from django.utils.encoding import force_unicode, smart_str | ||||
|  | ||||
| # NOTE: do *not* import settings (or any module which eventually imports | ||||
| # settings) until after ModPythonHandler has been called; otherwise os.environ | ||||
| @@ -36,8 +36,9 @@ class ModPythonRequest(http.HttpRequest): | ||||
|             meta = pformat(self.META) | ||||
|         except: | ||||
|             meta = '<could not parse>' | ||||
|         return '<ModPythonRequest\npath:%s,\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s>' % \ | ||||
|             (self.path, get, post, cookies, meta) | ||||
|         return smart_str(u'<ModPythonRequest\npath:%s,\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s>' % | ||||
|                          (self.path, unicode(get), unicode(post), | ||||
|                           unicode(cookies), unicode(meta))) | ||||
|  | ||||
|     def get_full_path(self): | ||||
|         return '%s%s' % (self.path, self._req.args and ('?' + self._req.args) or '') | ||||
|   | ||||
							
								
								
									
										3
									
								
								tests/regressiontests/requests/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								tests/regressiontests/requests/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| """ | ||||
| Tests for Django's various Request objects. | ||||
| """ | ||||
							
								
								
									
										1
									
								
								tests/regressiontests/requests/models.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								tests/regressiontests/requests/models.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| # Need a models module for the test runner. | ||||
							
								
								
									
										34
									
								
								tests/regressiontests/requests/tests.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								tests/regressiontests/requests/tests.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| """ | ||||
| >>> from django.http import HttpRequest | ||||
| >>> 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:{'REQUEST_METHOD': 'bogus', 'PATH_INFO': 'bogus'}> | ||||
|  | ||||
| >>> 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: pass | ||||
| ... | ||||
| >>> req = Dummy() | ||||
| >>> req.uri = 'bogus' | ||||
| >>> print repr(FakeModPythonRequest(req)) | ||||
| <ModPythonRequest | ||||
| path:bogus, | ||||
| GET:{}, | ||||
| POST:{}, | ||||
| COOKIES:{}, | ||||
| META:{}> | ||||
| """ | ||||
		Reference in New Issue
	
	Block a user