info field. ability to go wwithout defaults

This commit is contained in:
2022-05-27 17:14:31 +03:00
parent 8391ad9850
commit 93705f758f
7 changed files with 194 additions and 95 deletions

View File

@@ -1,7 +1,7 @@
class ReverseProxied(object):
'''Wrap the application in this middleware and configure the
front-end server to add these headers, to let you quietly bind
this to a URL other than / and to an HTTP scheme that is
"""Wrap the application in this middleware and configure the
front-end server to add these headers, to let you quietly bind
this to a URL other than / and to an HTTP scheme that is
different than what is used locally.
In nginx:
@@ -14,19 +14,20 @@ class ReverseProxied(object):
}
:param app: the WSGI application
'''
"""
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
script_name = environ.get('HTTP_X_SCRIPT_NAME', '')
script_name = environ.get("HTTP_X_SCRIPT_NAME", "")
if script_name:
environ['SCRIPT_NAME'] = script_name
path_info = environ['PATH_INFO']
environ["SCRIPT_NAME"] = script_name
path_info = environ["PATH_INFO"]
if path_info.startswith(script_name):
environ['PATH_INFO'] = path_info[len(script_name):]
environ["PATH_INFO"] = path_info[len(script_name) :]
scheme = environ.get('HTTP_X_SCHEME', '')
scheme = environ.get("HTTP_X_SCHEME", "")
if scheme:
environ['wsgi.url_scheme'] = scheme
environ["wsgi.url_scheme"] = scheme
return self.app(environ, start_response)