From b701e627779710116b8c16af943601314df5a5db Mon Sep 17 00:00:00 2001 From: ms Date: Mon, 25 Apr 2022 14:53:03 +0200 Subject: Manually defining redirected URLs. Newer versions of Werkzueg do _not_ transparently prefix redirects with the value of X-Forward-Prefix _anymore_. --- talermerchantdemos/blog/blog.py | 8 ++------ talermerchantdemos/donations/donations.py | 4 ++-- talermerchantdemos/httpcommon/__init__.py | 4 ++++ talermerchantdemos/landing/landing.py | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) (limited to 'talermerchantdemos') diff --git a/talermerchantdemos/blog/blog.py b/talermerchantdemos/blog/blog.py index 5dd1734..db4e720 100644 --- a/talermerchantdemos/blog/blog.py +++ b/talermerchantdemos/blog/blog.py @@ -36,6 +36,7 @@ from urllib.parse import urljoin, urlencode, urlparse from taler.util.talerconfig import TalerConfig, ConfigurationError from ..blog.content import ARTICLES, get_article_file, get_image_file from talermerchantdemos.httpcommon import ( + get_app_root, backend_get, backend_post, self_localized, @@ -69,11 +70,6 @@ def refundable(pay_status): return True return False -# Ask the env the value of X-Forwarded-Prefix. -def get_app_root(): - return flask.request.environ.get("SCRIPT_NAME", "") - - if not sys.version_info.major == 3 and sys.version_info.minor >= 6: print("Python 3.6 or higher is required.") print( @@ -143,7 +139,7 @@ def internal_error(e): def index(): default = "en" target = flask.request.accept_languages.best_match(translations, default) - return flask.redirect(target + "/", code=302) + return flask.redirect(get_app_root() + "/" + target + "/", code=302) ## diff --git a/talermerchantdemos/donations/donations.py b/talermerchantdemos/donations/donations.py index 1a3fb4f..2a4fed9 100644 --- a/talermerchantdemos/donations/donations.py +++ b/talermerchantdemos/donations/donations.py @@ -32,7 +32,7 @@ import traceback import urllib from taler.util.talerconfig import TalerConfig, ConfigurationError from urllib.parse import urljoin -from ..httpcommon import backend_post, backend_get, make_utility_processor, get_locale +from ..httpcommon import backend_post, backend_get, make_utility_processor, get_locale, get_app_root import sys if not sys.version_info.major == 3 and sys.version_info.minor >= 6: @@ -160,7 +160,7 @@ def favicon(): def index(): default = "en" target = flask.request.accept_languages.best_match(translations, default) - return flask.redirect(target + "/", code=302) + return flask.redirect(get_app_root() + "/" + target + "/", code=302) ## diff --git a/talermerchantdemos/httpcommon/__init__.py b/talermerchantdemos/httpcommon/__init__.py index 0584cba..ca61b66 100644 --- a/talermerchantdemos/httpcommon/__init__.py +++ b/talermerchantdemos/httpcommon/__init__.py @@ -199,3 +199,7 @@ def make_utility_processor(pagename): ) return utility_processor + +# Ask the env the value of X-Forwarded-Prefix. +def get_app_root(): + return flask.request.environ.get("SCRIPT_NAME", "") diff --git a/talermerchantdemos/landing/landing.py b/talermerchantdemos/landing/landing.py index b628deb..d809c08 100644 --- a/talermerchantdemos/landing/landing.py +++ b/talermerchantdemos/landing/landing.py @@ -31,6 +31,7 @@ from werkzeug.middleware.proxy_fix import ProxyFix import traceback from taler.util.talerconfig import TalerConfig, ConfigurationError from ..httpcommon import ( + get_app_root, backend_get, backend_post, self_localized, @@ -119,8 +120,7 @@ def favicon(): def index(): default = "en" target = flask.request.accept_languages.best_match(translations, default) - return flask.redirect(target + "/", code=302) - + return flask.redirect(get_app_root() + "/" + target + "/", code=302) ## # Serve the internationalized main index page. -- cgit v1.2.3