Fixed #23295 -- Removed unnecessary fix_location_header request.get_host() check.
This commit is contained in:
parent
7ca665c5f5
commit
230393e5e8
|
@ -17,7 +17,7 @@ def fix_location_header(request, response):
|
||||||
Code constructing response objects is free to insert relative paths, as
|
Code constructing response objects is free to insert relative paths, as
|
||||||
this function converts them to absolute paths.
|
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'])
|
response['Location'] = request.build_absolute_uri(response['Location'])
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@ from __future__ import unicode_literals
|
||||||
import io
|
import io
|
||||||
import gzip
|
import gzip
|
||||||
|
|
||||||
from django.http import HttpRequest, HttpResponse, StreamingHttpResponse
|
from django.http import HttpRequest, HttpResponse, HttpResponseRedirect, StreamingHttpResponse
|
||||||
from django.http.utils import conditional_content_removal
|
from django.http.utils import conditional_content_removal, fix_location_header
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,3 +69,14 @@ class HttpUtilTests(TestCase):
|
||||||
res = StreamingHttpResponse(['abc'])
|
res = StreamingHttpResponse(['abc'])
|
||||||
conditional_content_removal(req, res)
|
conditional_content_removal(req, res)
|
||||||
self.assertEqual(b''.join(res), b'')
|
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