mirror of https://github.com/django/django.git
Fixed #9469 -- Apply the fix from r9189 to the WSGI handler as well.
This is a defensive encoding fix. No functionality change for correct URLs. Patch from magneto. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9996 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
242fc60520
commit
d01c17e81d
|
@ -10,7 +10,7 @@ from django.core import signals
|
||||||
from django.core.handlers import base
|
from django.core.handlers import base
|
||||||
from django.core.urlresolvers import set_script_prefix
|
from django.core.urlresolvers import set_script_prefix
|
||||||
from django.utils import datastructures
|
from django.utils import datastructures
|
||||||
from django.utils.encoding import force_unicode
|
from django.utils.encoding import force_unicode, iri_to_uri
|
||||||
|
|
||||||
# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
|
# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
|
||||||
STATUS_CODE_TEXT = {
|
STATUS_CODE_TEXT = {
|
||||||
|
@ -120,7 +120,9 @@ class WSGIRequest(http.HttpRequest):
|
||||||
(get, post, cookies, meta)
|
(get, post, cookies, meta)
|
||||||
|
|
||||||
def get_full_path(self):
|
def get_full_path(self):
|
||||||
return '%s%s' % (self.path, self.environ.get('QUERY_STRING', '') and ('?' + self.environ.get('QUERY_STRING', '')) or '')
|
# RFC 3986 requires query string arguments to be in the ASCII range.
|
||||||
|
# Rather than crash if this doesn't happen, we encode defensively.
|
||||||
|
return '%s%s' % (self.path, self.environ.get('QUERY_STRING', '') and ('?' + iri_to_uri(self.environ.get('QUERY_STRING', ''))) or '')
|
||||||
|
|
||||||
def is_secure(self):
|
def is_secure(self):
|
||||||
return 'wsgi.url_scheme' in self.environ \
|
return 'wsgi.url_scheme' in self.environ \
|
||||||
|
|
Loading…
Reference in New Issue