mirror of
https://github.com/django/django.git
synced 2024-11-29 22:56:46 +01:00
Merge pull request #3072 from collinanderson/23295
Fixed #23295 -- Removed unnecessary fix_location_header request.get_host() check
This commit is contained in:
commit
9fef66ef7c
@ -17,7 +17,7 @@ def fix_location_header(request, response):
|
||||
Code constructing response objects is free to insert relative paths, as
|
||||
this function converts them to absolute paths.
|
||||
"""
|
||||
if 'Location' in response and request.get_host():
|
||||
if 'Location' in response:
|
||||
response['Location'] = request.build_absolute_uri(response['Location'])
|
||||
return response
|
||||
|
||||
|
@ -3,8 +3,8 @@ from __future__ import unicode_literals
|
||||
import io
|
||||
import gzip
|
||||
|
||||
from django.http import HttpRequest, HttpResponse, StreamingHttpResponse
|
||||
from django.http.utils import conditional_content_removal
|
||||
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect, StreamingHttpResponse
|
||||
from django.http.utils import conditional_content_removal, fix_location_header
|
||||
from django.test import TestCase
|
||||
|
||||
|
||||
@ -69,3 +69,14 @@ class HttpUtilTests(TestCase):
|
||||
res = StreamingHttpResponse(['abc'])
|
||||
conditional_content_removal(req, res)
|
||||
self.assertEqual(b''.join(res), b'')
|
||||
|
||||
def test_fix_location_without_get_host(self):
|
||||
"""
|
||||
Tests that you can return an absolute redirect when the request
|
||||
host is not in ALLOWED_HOSTS. Issue #20472
|
||||
"""
|
||||
request = HttpRequest()
|
||||
def bomb():
|
||||
self.assertTrue(False)
|
||||
request.get_host = bomb
|
||||
fix_location_header(request, HttpResponseRedirect('http://example.com'))
|
||||
|
Loading…
Reference in New Issue
Block a user