diff options
Diffstat (limited to 'debug_toolbar/panels/headers.py')
| -rw-r--r-- | debug_toolbar/panels/headers.py | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/debug_toolbar/panels/headers.py b/debug_toolbar/panels/headers.py index a395651..1e929f6 100644 --- a/debug_toolbar/panels/headers.py +++ b/debug_toolbar/panels/headers.py @@ -1,7 +1,6 @@ from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ from debug_toolbar.panels import DebugPanel -from debug_toolbar.debug.headers import DebugHeaders class HeaderDebugPanel(DebugPanel): """ @@ -9,10 +8,29 @@ class HeaderDebugPanel(DebugPanel): """ name = 'Header' has_content = True - - def __init__(self, context={}): - super(HeaderDebugPanel, self).__init__(context) - self.debug_headers = DebugHeaders() + # List of headers we want to display + header_filter = ( + 'CONTENT_TYPE', + 'HTTP_ACCEPT', + 'HTTP_ACCEPT_CHARSET', + 'HTTP_ACCEPT_ENCODING', + 'HTTP_ACCEPT_LANGUAGE', + 'HTTP_CACHE_CONTROL', + 'HTTP_CONNECTION', + 'HTTP_HOST', + 'HTTP_KEEP_ALIVE', + 'HTTP_REFERER', + 'HTTP_USER_AGENT', + 'QUERY_STRING', + 'REMOTE_ADDR', + 'REMOTE_HOST', + 'REQUEST_METHOD', + 'SCRIPT_NAME', + 'SERVER_NAME', + 'SERVER_PORT', + 'SERVER_PROTOCOL', + 'SERVER_SOFTWARE', + ) def nav_title(self): return _('HTTP Headers') @@ -23,13 +41,14 @@ class HeaderDebugPanel(DebugPanel): def url(self): return '' + def process_request(self, request): + self.headers = dict( + [(k, request.META[k]) for k in self.header_filter if k in request.META] + ) + def content(self): context = self.context.copy() context.update({ 'headers': self.headers }) return render_to_string('debug_toolbar/panels/headers.html', context) - - def process_request(self, request): - self.headers = self.debug_headers.available_headers(request) - |
