39126873a61c2755371e28724eca50c8ac0dc4bd
[wolnelektury.git] / apps / debug_toolbar / panels / headers.py
1 from debug_toolbar.panels import DebugPanel
2 from django.template.loader import render_to_string
3
4 class HeaderDebugPanel(DebugPanel):
5     """
6     A panel to display HTTP headers.
7     """
8     name = 'Header'
9     # List of headers we want to display
10     header_filter = [
11         'CONTENT_TYPE',
12         'HTTP_ACCEPT',
13         'HTTP_ACCEPT_CHARSET',
14         'HTTP_ACCEPT_ENCODING',
15         'HTTP_ACCEPT_LANGUAGE',
16         'HTTP_CACHE_CONTROL',
17         'HTTP_CONNECTION',
18         'HTTP_HOST',
19         'HTTP_KEEP_ALIVE',
20         'HTTP_REFERER',
21         'HTTP_USER_AGENT',
22         'QUERY_STRING',
23         'REMOTE_ADDR',
24         'REMOTE_HOST',
25         'REQUEST_METHOD',
26         'SCRIPT_NAME',
27         'SERVER_NAME',
28         'SERVER_PORT',
29         'SERVER_PROTOCOL',
30         'SERVER_SOFTWARE',
31     ]
32     def title(self):
33         return 'HTTP Headers'
34
35     def url(self):
36         return ''
37
38     def content(self):
39         context = {
40             'headers': dict([(k, self.request.META[k]) for k in self.header_filter if k in self.request.META]),
41         }
42         return render_to_string('debug_toolbar/panels/headers.html', context)