app_gw: Rewrite redirect responses (replace upstream location with server_name)
This commit is contained in:
parent
1d2be6e68b
commit
3d1fa9f048
|
@ -221,5 +221,13 @@ class RequestHandler:
|
||||||
self._set_content_type(proxy_response)
|
self._set_content_type(proxy_response)
|
||||||
response = get_django_response(proxy_response, strict_cookies=False)
|
response = get_django_response(proxy_response, strict_cookies=False)
|
||||||
|
|
||||||
|
# If response has a 'Location' header, we rewrite that location as well
|
||||||
|
if 'Location' in response:
|
||||||
|
LOGGER.debug("Rewriting Location header")
|
||||||
|
for server_name in self.app_gw.server_name:
|
||||||
|
response['Location'] = response['Location'].replace(
|
||||||
|
self._parsed_url.hostname, server_name)
|
||||||
|
LOGGER.debug(response['Location'])
|
||||||
|
|
||||||
# LOGGER.debug("RESPONSE RETURNED: %s", response)
|
# LOGGER.debug("RESPONSE RETURNED: %s", response)
|
||||||
return response
|
return response
|
||||||
|
|
|
@ -9,7 +9,7 @@ from passbook.app_gw.proxy.utils import (cookie_from_string,
|
||||||
#: Default number of bytes that are going to be read in a file lecture
|
#: Default number of bytes that are going to be read in a file lecture
|
||||||
DEFAULT_AMT = 2 ** 16
|
DEFAULT_AMT = 2 ** 16
|
||||||
|
|
||||||
logger = logging.getLogger('revproxy.response')
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def get_django_response(proxy_response, strict_cookies=False):
|
def get_django_response(proxy_response, strict_cookies=False):
|
||||||
|
|
Reference in a new issue