1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #23531 -- Added CommonMiddleware.response_redirect_class.

This commit is contained in:
Berker Peksag
2014-11-04 22:19:10 +02:00
committed by Tim Graham
parent 83daf53636
commit df0523debc
4 changed files with 42 additions and 2 deletions

View File

@@ -9,7 +9,10 @@ from unittest import skipIf
from django.conf import settings
from django.core import mail
from django.http import HttpRequest, HttpResponse, StreamingHttpResponse
from django.http import (
HttpRequest, HttpResponse, StreamingHttpResponse, HttpResponsePermanentRedirect,
HttpResponseRedirect,
)
from django.middleware.clickjacking import XFrameOptionsMiddleware
from django.middleware.common import CommonMiddleware, BrokenLinkEmailsMiddleware
from django.middleware.http import ConditionalGetMiddleware
@@ -242,6 +245,23 @@ class CommonMiddlewareTest(TestCase):
response = CommonMiddleware().process_request(request)
self.assertEqual(response.status_code, 301)
def test_response_redirect_class(self):
request = self._get_request('slash')
r = CommonMiddleware().process_request(request)
self.assertEqual(r.status_code, 301)
self.assertEqual(r.url, 'http://testserver/slash/')
self.assertIsInstance(r, HttpResponsePermanentRedirect)
def test_response_redirect_class_subclass(self):
class MyCommonMiddleware(CommonMiddleware):
response_redirect_class = HttpResponseRedirect
request = self._get_request('slash')
r = MyCommonMiddleware().process_request(request)
self.assertEqual(r.status_code, 302)
self.assertEqual(r.url, 'http://testserver/slash/')
self.assertIsInstance(r, HttpResponseRedirect)
@override_settings(
IGNORABLE_404_URLS=(re.compile(r'foo'),),