File diff 6c83c6289ff4 → 60010999d25f
www/conservancy/middleware.py
Show inline comments
 
from builtins import object
 
from future.utils import raise_
 
from django import http
 
from django.conf import settings
 
from django.utils.cache import patch_response_headers
...
 
@@ -29,7 +28,7 @@ class ForceCanonicalHostnameMiddleware(object):
 
        if settings.APPEND_SLASH and (old_url[1][-1] != '/') and ('.' not in old_url[1].split('/')[-1]):
 
            new_url[1] = new_url[1] + '/'
 
            if settings.DEBUG and request.method == 'POST':
 
                raise_(RuntimeError, "You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to %s%s (note the trailing slash), or set APPEND_SLASH=False in your Django settings." % (new_url[0], new_url[1]))
 
                raise(RuntimeError, "You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to %s%s (note the trailing slash), or set APPEND_SLASH=False in your Django settings." % (new_url[0], new_url[1]))
 
        # Strip trailing index.html
 
        if new_url[1].endswith('/index.html'):
 
            new_url[1] = new_url[1][:new_url[1].rfind('index.html')]