|
3 | 3 |
|
4 | 4 | from bring_handler import BringHandler
|
5 | 5 | from environment_variable_getter import EnvironmentVariableGetter
|
6 |
| -from flask import Flask, request |
| 6 | +from flask import Blueprint, Flask, request |
7 | 7 | from ingredient import Ingredient, IngredientWithAmountsDisabled
|
8 | 8 | from logger_mixin import LoggerMixin
|
9 | 9 |
|
10 | 10 | app = Flask(__name__)
|
11 | 11 |
|
| 12 | +basepath = EnvironmentVariableGetter.get("HTTP_BASE_PATH", "") |
| 13 | +base_bp = Blueprint("base_bp", __name__, url_prefix=f"{basepath}") |
12 | 14 |
|
13 |
| -@app.route("/", methods=["POST"]) |
| 15 | + |
| 16 | +@base_bp.route("/", methods=["POST"]) |
14 | 17 | def webhook_handler() -> str:
|
15 | 18 | data = request.get_json(force=True)
|
16 | 19 |
|
@@ -46,7 +49,7 @@ def webhook_handler() -> str:
|
46 | 49 | return "OK"
|
47 | 50 |
|
48 | 51 |
|
49 |
| -@app.route("/status", methods=["GET"]) |
| 52 | +@base_bp.route("/status", methods=["GET"]) |
50 | 53 | def status_handler() -> str:
|
51 | 54 | logger.log.debug("Got a status request")
|
52 | 55 | return "OK"
|
@@ -78,5 +81,6 @@ def parse_ignored_ingredients() -> list[Ingredient]:
|
78 | 81 |
|
79 | 82 | host = EnvironmentVariableGetter.get("HTTP_HOST", "0.0.0.0")
|
80 | 83 | port = int(EnvironmentVariableGetter.get("HTTP_PORT", 8742))
|
81 |
| - logger.log.info(f"Listening on {host}:{port}") |
| 84 | + logger.log.info(f"Listening on {host}:{port}{basepath}") |
| 85 | + app.register_blueprint(base_bp) |
82 | 86 | app.run(host=host, port=port)
|
0 commit comments