taler-merchant-demos

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

commit 16e99a8464c1658bfa457b546234f4aa246ecb95
parent 6844bf021208e88085b877cc9603196df55c0242
Author: ms <ms@taler.net>
Date:   Wed, 24 Nov 2021 13:00:29 +0100

Redirect with relative URL.

That allows proxy middleware to adjust/complete the Location header.

Diffstat:
Mtalermerchantdemos/blog/blog.py | 4+++-
Mtalermerchantdemos/donations/donations.py | 4+++-
Mtalermerchantdemos/landing/landing.py | 4+++-
Mtalermerchantdemos/survey/survey.py | 2++
4 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/talermerchantdemos/blog/blog.py b/talermerchantdemos/blog/blog.py @@ -29,6 +29,7 @@ from flask_babel import Babel from flask_babel import refresh from flask_babel import force_locale from flask_babel import gettext +from werkzeug.middleware.proxy_fix import ProxyFix import time import sys from urllib.parse import urljoin, urlencode, urlparse @@ -78,6 +79,7 @@ if not sys.version_info.major == 3 and sys.version_info.minor >= 6: sys.exit(1) app = flask.Flask(__name__, template_folder="../templates", static_folder="../static") +app.wsgi_app = ProxyFix(app.wsgi_app, x_host=1, x_prefix=1) app.debug = True app.secret_key = base64.b64encode(os.urandom(64)).decode("utf-8") @@ -136,7 +138,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(target + "/", code=302) ## diff --git a/talermerchantdemos/donations/donations.py b/talermerchantdemos/donations/donations.py @@ -25,6 +25,7 @@ from flask_babel import Babel from flask_babel import refresh from flask_babel import force_locale from flask_babel import gettext +from werkzeug.middleware.proxy_fix import ProxyFix import os import time import traceback @@ -48,6 +49,7 @@ LOGGER = logging.getLogger(__name__) BASE_DIR = os.path.dirname(os.path.abspath(__file__)) app = flask.Flask(__name__, template_folder="../templates", static_folder="../static") +app.wsgi_app = ProxyFix(app.wsgi_app, x_host=1, x_prefix=1) app.debug = True app.secret_key = base64.b64encode(os.urandom(64)).decode("utf-8") @@ -158,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(target + "/", code=302) ## diff --git a/talermerchantdemos/landing/landing.py b/talermerchantdemos/landing/landing.py @@ -27,6 +27,7 @@ from flask_babel import Babel from flask_babel import refresh from flask_babel import force_locale from flask_babel import gettext +from werkzeug.middleware.proxy_fix import ProxyFix import traceback from taler.util.talerconfig import TalerConfig, ConfigurationError from ..httpcommon import ( @@ -48,6 +49,7 @@ if not sys.version_info.major == 3 and sys.version_info.minor >= 6: sys.exit(1) app = flask.Flask(__name__, template_folder="../templates", static_folder="../static") +app.wsgi_app = ProxyFix(app.wsgi_app, x_host=1, x_prefix=1) app.debug = True app.secret_key = base64.b64encode(os.urandom(64)).decode("utf-8") @@ -117,7 +119,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(target + "/", code=302) ## diff --git a/talermerchantdemos/survey/survey.py b/talermerchantdemos/survey/survey.py @@ -28,6 +28,7 @@ from flask_babel import Babel from flask_babel import refresh from flask_babel import force_locale from flask_babel import gettext +from werkzeug.middleware.proxy_fix import ProxyFix import traceback from taler.util.talerconfig import TalerConfig, ConfigurationError from ..httpcommon import ( @@ -50,6 +51,7 @@ if not sys.version_info.major == 3 and sys.version_info.minor >= 6: sys.exit(1) app = flask.Flask(__name__, template_folder="../templates", static_folder="../static") +app.wsgi_app = ProxyFix(app.wsgi_app, x_host=1, x_prefix=1) app.debug = True app.secret_key = base64.b64encode(os.urandom(64)).decode("utf-8")