From 2b847656f8558751cd25be6eaa46cd7076261512 Mon Sep 17 00:00:00 2001 From: Florian Bezannier Date: Thu, 3 Jun 2021 13:28:21 +0200 Subject: [PATCH] make app compatible with HTTP_X_INGRESS_PATH (for home assistant) --- web/app.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/web/app.py b/web/app.py index ac8cb6f..140f10a 100644 --- a/web/app.py +++ b/web/app.py @@ -21,6 +21,14 @@ dash_app = None dispatcher = None +class MyProxyFix(ProxyFix): + def __call__(self, environ, start_response): + ingress_path = environ.get("HTTP_X_INGRESS_PATH") + if ingress_path: + environ["HTTP_X_FORWARDED_PREFIX"] = ingress_path + return super().__call__(environ, start_response) + + def start_app(*args, **kwargs): run(config_flask(*args, **kwargs)) @@ -39,7 +47,7 @@ def config_flask(title, base_path, debug: bool, host, port, reloader=False, # p logger.warning("Can't get language") if unminified: locale_url = ["assets/plotly-with-meta.js"] - app.wsgi_app = ProxyFix(app.wsgi_app) + app.wsgi_app = MyProxyFix(app.wsgi_app, x_prefix=1) app.config["DEBUG"] = debug if base_path == "/": application = DispatcherMiddleware(app)