def __call__(self, request): if not get_show_toolbar()(request) or request.is_ajax(): return self.get_response(request) with MockToolbar(self): response = super().__call__(request) content_type = response.get('Content-Type', '').split(';')[0] html_type = content_type in _HTML_TYPES graphql_view = getattr(request, '_graphql_view', False) if response.status_code == 200 and graphql_view and html_type: template = render_to_string('graphiql_debug_toolbar/base.html') response.write(template) set_content_length(response) if html_type or not (graphql_view and content_type == 'application/json'): return response toolbar = self._toolbar payload = get_payload(request, response, toolbar) response.content = json.dumps(payload, cls=CallableJSONEncoder) set_content_length(response) return response
def __call__(self, request): if not get_show_toolbar()(request) or request.is_ajax(): return self.get_response(request) content_type = request.content_type html_type = content_type in _HTML_TYPES if html_type: response = super().__call__(request) template = render_to_string('graphiql_debug_toolbar/base.html') response.write(template) set_content_length(response) return response toolbar = DebugToolbar(request, self.get_response) for panel in toolbar.enabled_panels: panel.enable_instrumentation() try: response = toolbar.process_request(request) finally: for panel in reversed(toolbar.enabled_panels): panel.disable_instrumentation() response = self.generate_server_timing_header( response, toolbar.enabled_panels, ) payload = get_payload(request, response, toolbar) response.content = json.dumps(payload, cls=CallableJSONEncoder) set_content_length(response) return response
def inner(request, *args, **kwargs): from debug_toolbar.middleware import get_show_toolbar show_toolbar = get_show_toolbar() if not show_toolbar(request): raise Http404 return view(request, *args, **kwargs)
def inner(request, *args, **kwargs): from debug_toolbar.middleware import get_show_toolbar show_toolbar = get_show_toolbar() if not show_toolbar(request): raise Http404( 'You do not have the permission to access debug-toolbar' ' urls. Please check your INTERNAL_IPS and' ' SHOW_TOOLBAR_CALLBACK configurations') return view(request, *args, **kwargs)
def _process_request(self, request): # Decide whether the toolbar is active for this request. from debug_toolbar.middleware import get_show_toolbar, DebugToolbar show_toolbar = get_show_toolbar() if not show_toolbar(request): return toolbar = DebugToolbar(request) self.__class__.debug_toolbars[threading.current_thread().ident] = toolbar # Activate instrumentation ie. monkey-patch. for panel in toolbar.enabled_panels: panel.enable_instrumentation() # Run process_request methods of panels like Django middleware. response = None for panel in toolbar.enabled_panels: response = panel.process_request(request) if response: break return response
def __call__(self, request): if not get_show_toolbar()(request) or request.is_ajax(): return self.get_response(request) response = super().__call__(request) content_type = response.get('Content-Type', '').split(';')[0] html_type = content_type in _HTML_TYPES graphql_view = getattr(request, '_graphql_view', False) if response.status_code == 200 and graphql_view and html_type: template = render_to_string('graphiql_debug_toolbar/base.html') response.write(template) set_content_length(response) if html_type or not (graphql_view and content_type == 'application/json'): return response toolbar = DebugToolbar(request, self.get_response) for panel in toolbar.enabled_panels: panel.enable_instrumentation() try: response = toolbar.process_request(request) finally: for panel in reversed(toolbar.enabled_panels): panel.disable_instrumentation() response = self.generate_server_timing_header( response, toolbar.enabled_panels, ) payload = get_payload(request, response, toolbar) response.content = json.dumps(payload, cls=CallableJSONEncoder) set_content_length(response) return response
def inner(request, *args, **kwargs): show_toolbar = get_show_toolbar() if not show_toolbar(request): raise Http404 return view(request, *args, **kwargs)