diff options
| author | Aymeric Augustin | 2013-11-22 19:55:11 +0100 |
|---|---|---|
| committer | Aymeric Augustin | 2013-11-22 20:42:21 +0100 |
| commit | f4666321048d04514a4900b7301d61a918082bfd (patch) | |
| tree | fbbb87f42412814080ab9a2f3b87e997c4e4c146 /debug_toolbar/panels | |
| parent | c5e6a8550ea744df886a93b2749c7a33571ca11c (diff) | |
| download | django-debug-toolbar-f4666321048d04514a4900b7301d61a918082bfd.tar.bz2 | |
Add tests for redirects panel.
Also simplify the implementation.
Diffstat (limited to 'debug_toolbar/panels')
| -rw-r--r-- | debug_toolbar/panels/redirects.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/debug_toolbar/panels/redirects.py b/debug_toolbar/panels/redirects.py index b743a65..605dde3 100644 --- a/debug_toolbar/panels/redirects.py +++ b/debug_toolbar/panels/redirects.py @@ -1,7 +1,6 @@ from __future__ import unicode_literals from django.core.handlers.wsgi import STATUS_CODE_TEXT -from django.http import HttpResponseRedirect from django.shortcuts import render from django.utils.translation import ugettext as _ @@ -22,14 +21,15 @@ class InterceptRedirectsPanel(DebugPanel): return self.toolbar.request.COOKIES.get('djdt' + self.panel_id, default) == 'on' def process_response(self, request, response): - if isinstance(response, HttpResponseRedirect): + if 300 <= int(response.status_code) < 400: redirect_to = response.get('Location', None) if redirect_to: - try: - status_text = STATUS_CODE_TEXT[response.status_code] - except KeyError: - status_text = 'UNKNOWN STATUS CODE' - status_line = '%s %s' % (response.status_code, status_text.title()) + try: # Django >= 1.6 + reason_phrase = response.reason_phrase + except AttributeError: + reason_phrase = STATUS_CODE_TEXT.get(response.status_code, + 'UNKNOWN STATUS CODE') + status_line = '%s %s' % (response.status_code, reason_phrase) cookies = response.cookies context = {'redirect_to': redirect_to, 'status_line': status_line} response = render(request, 'debug_toolbar/redirect.html', context) |
