Ejemplo n.º 1
0
    def process_request(self, request):
        __traceback_hide__ = True
        if self.show_toolbar(request):
            urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF)
            if isinstance(urlconf, basestring):
                urlconf = import_module(
                    getattr(request, 'urlconf', settings.ROOT_URLCONF))

            if urlconf not in self._urlconfs:
                new_urlconf = imp.new_module('urlconf')
                new_urlconf.urlpatterns = debug_toolbar.urls.urlpatterns + \
                        list(urlconf.urlpatterns)

                if hasattr(urlconf, 'handler403'):
                    new_urlconf.handler403 = urlconf.handler403
                if hasattr(urlconf, 'handler404'):
                    new_urlconf.handler404 = urlconf.handler404
                if hasattr(urlconf, 'handler500'):
                    new_urlconf.handler500 = urlconf.handler500

                self._urlconfs[urlconf] = new_urlconf

            request.urlconf = self._urlconfs[urlconf]

            toolbar = DebugToolbar(request)
            for panel in toolbar.panels:
                panel.process_request(request)
            self.__class__.debug_toolbars[
                threading.currentThread().ident] = toolbar
Ejemplo n.º 2
0
    def process_request(self, request):
        __traceback_hide__ = True  # noqa
        if self.show_toolbar(request):
            urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF)
            if isinstance(urlconf, six.string_types):
                urlconf = import_module(
                    getattr(request, 'urlconf', settings.ROOT_URLCONF))

            if urlconf not in self._urlconfs:
                new_urlconf = imp.new_module('urlconf')
                new_urlconf.urlpatterns = (debug_toolbar.urls.urlpatterns +
                                           list(urlconf.urlpatterns))

                if hasattr(urlconf, 'handler403'):
                    new_urlconf.handler403 = urlconf.handler403
                if hasattr(urlconf, 'handler404'):
                    new_urlconf.handler404 = urlconf.handler404
                if hasattr(urlconf, 'handler500'):
                    new_urlconf.handler500 = urlconf.handler500

                self._urlconfs[urlconf] = new_urlconf

            request.urlconf = self._urlconfs[urlconf]

            toolbar = DebugToolbar(request)
            for panel in toolbar.panels:
                panel.disabled = panel.dom_id() in request.COOKIES
                panel.enabled = not panel.disabled
                if panel.disabled:
                    continue
                panel.process_request(request)
            self.__class__.debug_toolbars[
                threading.current_thread().ident] = toolbar
Ejemplo n.º 3
0
    def process_request(self, request):
        __traceback_hide__ = True
        if self.show_toolbar(request):

            urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF)
            if isinstance(urlconf, basestring):
                urlconf = __import__(
                    getattr(request, 'urlconf', settings.ROOT_URLCONF), {}, {},
                    ['*'])

            if urlconf not in self._urlconfs:
                new_urlconf = imp.new_module('urlconf')
                new_urlconf.urlpatterns = debug_toolbar.urls.urlpatterns + \
                    patterns('',
                        ('', include(urlconf)),
                    )

                if hasattr(urlconf, 'handler404'):
                    new_urlconf.handler404 = urlconf.handler404
                if hasattr(urlconf, 'handler500'):
                    new_urlconf.handler500 = urlconf.handler500

                self._urlconfs[urlconf] = new_urlconf

            request.urlconf = self._urlconfs[urlconf]

            toolbar = DebugToolbar(request)
            for panel in toolbar.panels:
                panel.process_request(request)
            self.__class__.debug_toolbars[thread.get_ident()] = toolbar
Ejemplo n.º 4
0
    def process_request(self, request):
        if self._logging_enabled(request):
            request.debug_logging = LOGGING_CONFIG
            request.debug_logging['ENABLED'] = True
        response = super(DebugLoggingMiddleware, self).process_request(request)

        if self._logging_enabled(request):
            # If the debug-logging frontend is in use, add it to the blacklist
            blacklist = request.debug_logging['BLACKLIST']
            try:
                debug_logging_prefix = reverse('debug_logging_index')
                blacklist.append(debug_logging_prefix)
            except NoReverseMatch:
                pass

            # Don't log requests to urls in the blacklist
            for blacklist_url in blacklist:
                if request.path.startswith(blacklist_url):
                    return response

            # Add an attribute to the request to track stats, and log the
            # request path
            request.debug_logging_stats = {'request_path': request.path}

            self.debug_toolbars[request] = DebugToolbar(request)
            for panel in self.debug_toolbars[request].panels:
                panel.process_request(request)

        return response
Ejemplo n.º 5
0
    def setUp(self):
        request = Dingus('request')
        toolbar = DebugToolbar(request)

        DebugToolbarMiddleware.debug_toolbars[thread.get_ident()] = toolbar

        self.request = request
        self.toolbar = toolbar
Ejemplo n.º 6
0
    def process_request(self, request):
        if self.show_toolbar(request):
            if self.override_url:
                debug_toolbar.urls.urlpatterns += self.original_pattern
                self.override_url = False
            request.urlconf = 'debug_toolbar.urls'

            self.debug_toolbars[request] = DebugToolbar(request)
            for panel in self.debug_toolbars[request].panels:
                panel.process_request(request)
Ejemplo n.º 7
0
    def setUp(self):
        request = rf.get('/')
        response = HttpResponse()
        toolbar = DebugToolbar(request)

        DebugToolbarMiddleware.debug_toolbars[thread.get_ident()] = toolbar

        self.request = request
        self.response = response
        self.toolbar = toolbar
        self.toolbar.stats = {}
Ejemplo n.º 8
0
    def setUp(self):
        settings.DEBUG = True
        settings.DEBUG_TOOLBAR_PANELS = self.panels_list
        settings.TEMPLATE_DIRS = (os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'templates/'), )

        request = Dingus('request')
        toolbar = DebugToolbar(request)
        toolbar.load_panels()

        self.request = request
        self.toolbar = toolbar
Ejemplo n.º 9
0
    def process_request(self, request):
        if self.show_toolbar(request):
            if self.override_url:
                original_urlconf = getattr(request, 'urlconf', settings.ROOT_URLCONF)
                debug_toolbar.urls.urlpatterns += patterns('',
                    ('', include(original_urlconf)),
                )
                self.override_url = False
            request.urlconf = 'debug_toolbar.urls'

            self.debug_toolbars[request] = DebugToolbar(request)
            for panel in self.debug_toolbars[request].panels:
                panel.process_request(request)
Ejemplo n.º 10
0
    def process_request(self, request):
        if self.show_toolbar(request):
            self.debug_toolbar = DebugToolbar(request)
            self.debug_toolbar.load_panels()

            # Monkeypatch in the URLpatterns for the debug toolbar. The last item
            # in the URLpatterns needs to be ```('', include(ROOT_URLCONF))``` so
            # that the existing URLs load *after* the ones we patch in. However,
            # this is difficult to get right: a previous middleware might have
            # changed request.urlconf, so we need to pick that up instead.
            original_urlconf = getattr(request, 'urlconf',
                                       settings.ROOT_URLCONF)
            debug_toolbar.urls.urlpatterns += patterns(
                '',
                ('', include(original_urlconf)),
            )
            request.urlconf = 'debug_toolbar.urls'

        return None
Ejemplo n.º 11
0
        def process_request(self, request):
            if self._process_urls(request):

                if self.override_url:
                    original_urlconf = getattr(request, 'urlconf',
                                               settings.ROOT_URLCONF)
                    debug_toolbar.urls.urlpatterns += patterns(
                        '',
                        ('', include(original_urlconf)),
                    )
                    self.override_url = False
                request.urlconf = 'debug_toolbar.urls'
                toolbar = DebugToolbar(request)

                toolbar.orig_DEBUG = settings.DEBUG
                settings.DEBUG = True

                for panel in toolbar.panels:
                    panel.process_request(request)

                self.debug_toolbars[request] = toolbar
Ejemplo n.º 12
0
    def process_request(self, request):
        if self.show_toolbar(request):
            if self.override_url:
                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'

            toolbar = DebugToolbar(request)
            for panel in toolbar.panels:
                panel.process_request(request)
            self.__class__.debug_toolbars[thread.get_ident()] = toolbar
Ejemplo n.º 13
0
    def setUp(self):
        self.OLD_DEBUG = settings.DEBUG
        self.OLD_DEBUG_TOOLBAR_PANELS = settings.DEBUG_TOOLBAR_PANELS
        self.OLD_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
        self.OLD_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES

        settings.DEBUG = True
        settings.DEBUG_TOOLBAR_PANELS = self.panels_list
        settings.TEMPLATE_DIRS = (os.path.join(
            os.path.dirname(os.path.abspath(__file__)), 'templates/'), )
        settings.MIDDLEWARE_CLASSES = (
            'django.middleware.common.CommonMiddleware',
            'django.contrib.sessions.middleware.SessionMiddleware',
            'django.contrib.auth.middleware.AuthenticationMiddleware',
        )

        request = Dingus('request')
        toolbar = DebugToolbar(request)
        toolbar.load_panels()

        self.request = request
        self.toolbar = toolbar