diff options
Diffstat (limited to 'debug_toolbar')
| -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) + | 
