diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
commit | 38966837f9f0b331b3cafa3dccb8b41f8c42c671 (patch) | |
tree | ff79845ba8f053cc0e57ee2020acd5957cc2022e /webapp/django/contrib/flatpages/middleware.py |
Initial Contributionv1.0
Diffstat (limited to 'webapp/django/contrib/flatpages/middleware.py')
-rw-r--r-- | webapp/django/contrib/flatpages/middleware.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/webapp/django/contrib/flatpages/middleware.py b/webapp/django/contrib/flatpages/middleware.py new file mode 100644 index 0000000000..fb98c39a9e --- /dev/null +++ b/webapp/django/contrib/flatpages/middleware.py @@ -0,0 +1,18 @@ +from django.contrib.flatpages.views import flatpage +from django.http import Http404 +from django.conf import settings + +class FlatpageFallbackMiddleware(object): + def process_response(self, request, response): + if response.status_code != 404: + return response # No need to check for a flatpage for non-404 responses. + try: + return flatpage(request, request.path_info) + # Return the original response if any errors happened. Because this + # is a middleware, we can't assume the errors will be caught elsewhere. + except Http404: + return response + except: + if settings.DEBUG: + raise + return response |