https_fixup.py
21 lines
| 670 B
| text/x-python
|
PythonLexer
r204 | class HttpsFixup(object): | |||
def __init__(self, app): | ||||
self.application = app | ||||
def __call__(self, environ, start_response): | ||||
self.__fixup(environ) | ||||
return self.application(environ, start_response) | ||||
def __fixup(self, environ): | ||||
"""Function to fixup the environ as needed. In order to use this | ||||
middleware you should set this header inside your | ||||
proxy ie. nginx, apache etc. | ||||
""" | ||||
proto = environ.get('HTTP_X_URL_SCHEME') | ||||
if proto == 'https': | ||||
environ['wsgi.url_scheme'] = proto | ||||
else: | ||||
environ['wsgi.url_scheme'] = 'http' | ||||
return None | ||||