From 7815894d9fa731b1756008703db778f3bc3af957 Mon Sep 17 00:00:00 2001 From: minhtrannhat Date: Sat, 19 Nov 2022 14:12:41 -0500 Subject: [PATCH] Feat(API): ensuring error responses are JSON --- backend/src/backend/run.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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