aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryan Chow2010-03-03 15:30:30 -0800
committerBryan Chow2010-03-03 15:30:30 -0800
commit4326cbbec13f44e6d8c757f1d07fd6100596bfb6 (patch)
tree4bfc3ddfe7e74c420b0e5bad826b9cbd49861525
parentedf74beb6e26ed34779dff17240d2fb4c436d451 (diff)
downloaddjango-debug-toolbar-4326cbbec13f44e6d8c757f1d07fd6100596bfb6.tar.bz2
Factor headers data out of HeaderDebugPanel.
-rw-r--r--debug_toolbar/debug/headers.py30
-rw-r--r--debug_toolbar/panels/headers.py37
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)
+