diff options
Diffstat (limited to 'talermerchantdemos/survey/survey.py')
-rw-r--r-- | talermerchantdemos/survey/survey.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/talermerchantdemos/survey/survey.py b/talermerchantdemos/survey/survey.py index fbdbf25..1f0fffb 100644 --- a/talermerchantdemos/survey/survey.py +++ b/talermerchantdemos/survey/survey.py @@ -22,6 +22,7 @@ import datetime import base64 import uwsgi import logging +import werkzeug from urllib.parse import urljoin import flask from flask import request @@ -159,6 +160,13 @@ def index(): @app.route("/<lang>/", methods=["GET"]) def start(lang): LOGGER.info("Serving main page. Currency: {}".format(CURRENCY)) + + # get_locale defaults to english, hence the + # condition below happens only when lang is + # wrong or unsupported, respond 404. + if lang != get_locale(): + raise werkzeug.exceptions.NotFound() + return flask.render_template( "survey-index.html.j2", page_title=gettext("GNU Taler Demo: Survey"), @@ -167,6 +175,7 @@ def start(lang): @app.errorhandler(404) +@app.errorhandler(werkzeug.exceptions.NotFound) def handler_404(e): return flask.render_template( "survey-error.html.j2", |