Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

0.91-bugfixes: Backport [3820] to 0.91-bugfixes, refs #2745.

git-svn-id: http://code.djangoproject.com/svn/django/branches/0.91-bugfixes@4099 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit f93190551794303bae40eb266b1af7b353186931 1 parent 2823775
@ubernostrum ubernostrum authored
Showing with 24 additions and 3 deletions.
  1. +24 −3 django/core/handlers/wsgi.py
View
27 django/core/handlers/wsgi.py
@@ -55,9 +55,30 @@ def __init__(self, environ):
def __repr__(self):
from pprint import pformat
- return '<DjangoRequest\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s>' % \
- (pformat(self.GET), pformat(self.POST), pformat(self.COOKIES),
- pformat(self.META))
+ # Since this is called as part of error handling, we need to be very
+ # robust against potentially malformed input.
+ try:
+ get = pformat(self.GET)
+ except:
+ get = '<could not parse>'
+ try:
+ post = pformat(self.POST)
+ except:
+ post = '<could not parse>'
+ try:
+ cookies = pformat(self.COOKIES)
+ except:
+ cookies = '<could not parse>'
+ try:
+ meta = pformat(self.META)
+ except:
+ meta = '<could not parse>'
+ try:
+ user = self.user
+ except:
+ user = '<could not parse>'
+ return '<DjangoRequest\npath:%s,\nGET:%s,\nPOST:%s,\nCOOKIES:%s,\nMETA:%s,\nuser:%s>' % \
+ (self.path, get, post, cookies, meta, user)
def get_full_path(self):
return '%s%s' % (self.path, self.environ['QUERY_STRING'] and ('?' + self.environ['QUERY_STRING']) or '')
Please sign in to comment.
Something went wrong with that request. Please try again.