diff options
Diffstat (limited to 'debug_toolbar/middleware.py')
| -rw-r--r-- | debug_toolbar/middleware.py | 16 | 
1 files changed, 10 insertions, 6 deletions
| diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py index de78254..7f0f4bc 100644 --- a/debug_toolbar/middleware.py +++ b/debug_toolbar/middleware.py @@ -67,10 +67,14 @@ class DebugToolbarMiddleware(object):      def process_request(self, request):          if self.show_toolbar(request):              if self.override_url: -                original_urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF) +                original_urlconf = __import__(getattr(request, 'urlconf', settings.ROOT_URLCONF), {}, {}, ['*'])                  debug_toolbar.urls.urlpatterns += patterns('',                      ('', include(original_urlconf)),                  ) +                if hasattr(original_urlconf, 'handler404'): +                    debug_toolbar.urls.handler404 = original_urlconf.handler404 +                if hasattr(original_urlconf, 'handler500'): +                    debug_toolbar.urls.handler500 = original_urlconf.handler500                  self.override_url = False              request.urlconf = 'debug_toolbar.urls' @@ -96,15 +100,15 @@ class DebugToolbarMiddleware(object):                          {'redirect_to': redirect_to}                      )                      response.cookies = cookies -        if response.status_code == 200: -            for panel in self.debug_toolbars[request].panels: -                panel.process_response(request, response) +        if response.status_code == 200 and 'gzip' not in response.get('Content-Encoding', ''):              if response['Content-Type'].split(';')[0] in _HTML_TYPES: +                for panel in self.debug_toolbars[request].panels: +                    panel.process_response(request, response)                  response.content = replace_insensitive(                      smart_unicode(response.content),                       self.tag,                      smart_unicode(self.debug_toolbars[request].render_toolbar() + self.tag)) -            if response.get('Content-Length', None): -                response['Content-Length'] = len(response.content) +                if response.get('Content-Length', None): +                    response['Content-Length'] = len(response.content)          del self.debug_toolbars[request]          return response | 
