diff --git a/backend/src/backend/run.py b/backend/src/backend/run.py index 3b4ca0c..3c28f5d 100644 --- a/backend/src/backend/run.py +++ b/backend/src/backend/run.py @@ -1,9 +1,21 @@ -from quart import Quart +from quart import Quart, ResponseReturnValue from backend.blueprints.control import blueprint as control_blueprint +from backend.lib.api_error import APIError + app = Quart(__name__) app.config.from_prefixed_env(prefix="TODO") app.register_blueprint(control_blueprint) + + +@app.errorhandler(APIError) # type: ignore +async def handle_api_error(error: APIError) -> ResponseReturnValue: + return {"code": error.code}, error.status_code + + +@app.errorhandler(500) +async def handle_generic_error(error: Exception) -> ResponseReturnValue: + return {"code": "INTERNAL_SERVER_ERROR"}, 500