diff options
| author | Rob Hudson | 2008-09-30 13:22:17 -0700 | 
|---|---|---|
| committer | Rob Hudson | 2008-09-30 13:22:17 -0700 | 
| commit | 005f67ebbc37dca871fc211e1fc46b9299e4787b (patch) | |
| tree | 2a055ecd5c2bff2f1641faf67d629b34dadf353c /debug_toolbar/middleware.py | |
| parent | 8cd6346f67448855c11161132995e467984a7247 (diff) | |
| download | django-debug-toolbar-005f67ebbc37dca871fc211e1fc46b9299e4787b.tar.bz2 | |
Adding redirect interception to the middleware to be able to view debug info
before being redirected to a new page.  Thanks to [530] in IRC for the idea.
Coming soon will be a way to optionally disable this.
Diffstat (limited to 'debug_toolbar/middleware.py')
| -rw-r--r-- | debug_toolbar/middleware.py | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index 44a8b9d..58712d9 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -3,6 +3,8 @@ Debug Toolbar middleware  """  import re  from django.conf import settings +from django.http import HttpResponseRedirect +from django.shortcuts import render_to_response  from django.utils.encoding import smart_str  from django.conf.urls.defaults import include, patterns  import debug_toolbar.urls @@ -57,6 +59,13 @@ class DebugToolbarMiddleware(object):      def process_response(self, request, response):          if not self.debug_toolbar:              return response +        if isinstance(response, HttpResponseRedirect): +            redirect_to = response.get('Location', None) +            if redirect_to: +                response = render_to_response( +                    'debug_toolbar/redirect.html', +                    {'redirect_to': redirect_to} +                )          if response.status_code != 200:              return response          for panel in self.debug_toolbar.panels: | 
