diff options
| author | Bryan Chow | 2010-03-03 15:30:30 -0800 |
|---|---|---|
| committer | Bryan Chow | 2010-03-03 15:30:30 -0800 |
| commit | 4326cbbec13f44e6d8c757f1d07fd6100596bfb6 (patch) | |
| tree | 4bfc3ddfe7e74c420b0e5bad826b9cbd49861525 | |
| parent | edf74beb6e26ed34779dff17240d2fb4c436d451 (diff) | |
| download | django-debug-toolbar-4326cbbec13f44e6d8c757f1d07fd6100596bfb6.tar.bz2 | |
Factor headers data out of HeaderDebugPanel.
| -rw-r--r-- | debug_toolbar/debug/headers.py | 30 | ||||
| -rw-r--r-- | debug_toolbar/panels/headers.py | 37 |
2 files changed, 39 insertions, 28 deletions
diff --git a/debug_toolbar/debug/headers.py b/debug_toolbar/debug/headers.py new file mode 100644 index 0000000..08b5bbf --- /dev/null +++ b/debug_toolbar/debug/headers.py @@ -0,0 +1,30 @@ +class DebugHeaders(object): + + # 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 available_headers(self, request): + return dict( + [(k, request.META[k]) for k in self.header_filter if k in request.META] + ) diff --git a/debug_toolbar/panels/headers.py b/debug_toolbar/panels/headers.py index 1e929f6..a395651 100644 --- a/debug_toolbar/panels/headers.py +++ b/debug_toolbar/panels/headers.py @@ -1,6 +1,7 @@ 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): """ @@ -8,29 +9,10 @@ class HeaderDebugPanel(DebugPanel): """ name = 'Header' has_content = True - # 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 __init__(self, context={}): + super(HeaderDebugPanel, self).__init__(context) + self.debug_headers = DebugHeaders() def nav_title(self): return _('HTTP Headers') @@ -41,14 +23,13 @@ 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) + |
