From 005f67ebbc37dca871fc211e1fc46b9299e4787b Mon Sep 17 00:00:00 2001 From: Rob Hudson Date: Tue, 30 Sep 2008 13:22:17 -0700 Subject: 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. --- debug_toolbar/middleware.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'debug_toolbar/middleware.py') 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: -- cgit v1.2.3