Fixed #8381 -- Fixed a problem with appending slashes in the common middleware

when SCRIPT_NAME contains something other than '/'. Patch from jcassee.

Also fixed the middleware tests to work with this patch.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8456 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2008-08-21 01:32:18 +00:00
parent b9407b26df
commit 1e1f7c58bc
2 changed files with 3 additions and 3 deletions

View File

@ -54,7 +54,7 @@ class CommonMiddleware(object):
# trailing slash and there is no pattern for the current path
if settings.APPEND_SLASH and (not old_url[1].endswith('/')):
try:
urlresolvers.resolve(request.path)
urlresolvers.resolve(request.path_info)
except urlresolvers.Resolver404:
new_url[1] = new_url[1] + '/'
if settings.DEBUG and request.method == 'POST':
@ -69,7 +69,7 @@ class CommonMiddleware(object):
if new_url != old_url:
# Redirect if the target url exists
try:
urlresolvers.resolve(new_url[1])
urlresolvers.resolve("%s/" % request.path_info)
except urlresolvers.Resolver404:
pass
else:

View File

@ -12,7 +12,7 @@ class CommonMiddlewareTest(TestCase):
'SERVER_NAME': 'testserver',
'SERVER_PORT': 80,
}
request.path = "/middleware/%s" % path
request.path = request.path_info = "/middleware/%s" % path
return request
def test_append_slash_have_slash(self):