taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

commit b701e627779710116b8c16af943601314df5a5db
parent 45c35038dbf36bcbed4f9ff5e3c9bc02b4164747
Author: ms <ms@taler.net>
Date:   Mon, 25 Apr 2022 14:53:03 +0200

Manually defining redirected URLs.

Newer versions of Werkzueg do _not_ transparently
prefix redirects with the value of X-Forward-Prefix
_anymore_.

Diffstat:
Mtalermerchantdemos/blog/blog.py | 8++------
Mtalermerchantdemos/donations/donations.py | 4++--
Mtalermerchantdemos/httpcommon/__init__.py | 4++++
Mtalermerchantdemos/landing/landing.py | 4++--
4 files changed, 10 insertions(+), 10 deletions(-)

diff --git 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 @@ -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 @@ -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 @@ -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.