diff options
Diffstat (limited to 'pysite/route_manager.py')
-rw-r--r-- | pysite/route_manager.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/pysite/route_manager.py b/pysite/route_manager.py index 14ae22db..24d09ee2 100644 --- a/pysite/route_manager.py +++ b/pysite/route_manager.py @@ -4,7 +4,7 @@ import inspect import logging import os -from flask import Blueprint, Flask +from flask import Blueprint, Flask, _request_ctx_stack from flask_dance.contrib.discord import make_discord_blueprint from flask_sockets import Sockets @@ -76,6 +76,17 @@ class RouteManager: self.load_views(self.ws_blueprint, "pysite/views/ws") self.sockets.register_blueprint(self.ws_blueprint, url_prefix="/ws") + self.app.before_request(self.https_fixing_hook) # Try to fix HTTPS issues + + def https_fixing_hook(self): + """ + Attempt to fix HTTPS issues by modifying the request context stack + """ + + if _request_ctx_stack is not None: + reqctx = _request_ctx_stack.top + reqctx.url_adapter.url_scheme = PREFERRED_URL_SCHEME + def run(self): from gevent.pywsgi import WSGIServer from geventwebsocket.handler import WebSocketHandler |