From 626a93a46cbf512127ac62c1de963e6456dfe044 Mon Sep 17 00:00:00 2001 From: Tiago vasconcelos Date: Wed, 15 Jun 2022 16:20:20 +0100 Subject: [PATCH 1/3] add json response for basic error --- lnbits/app.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lnbits/app.py b/lnbits/app.py index 1fff48476..8c707a8b6 100644 --- a/lnbits/app.py +++ b/lnbits/app.py @@ -62,7 +62,7 @@ def create_app(config_object="lnbits.settings") -> FastAPI: ): # Only the browser sends "text/html" request # not fail proof, but everything else get's a JSON response - + if "text/html" in request.headers["accept"]: return template_renderer().TemplateResponse( "error.html", @@ -177,6 +177,13 @@ def register_exception_handlers(app: FastAPI): etype, _, tb = sys.exc_info() traceback.print_exception(etype, err, tb) exc = traceback.format_exc() - return template_renderer().TemplateResponse( - "error.html", {"request": request, "err": err} + + if "text/html" in request.headers["accept"]: + return template_renderer().TemplateResponse( + "error.html", {"request": request, "err": err} + ) + + return JSONResponse( + status_code=HTTPStatus.NO_CONTENT, + content={"detail": exc.errors()}, ) From 1ebba9f846f74a468588e08176a973bfc5b355ed Mon Sep 17 00:00:00 2001 From: Tiago vasconcelos Date: Wed, 15 Jun 2022 16:37:10 +0100 Subject: [PATCH 2/3] send json response basic error --- lnbits/app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lnbits/app.py b/lnbits/app.py index 8c707a8b6..d48d90604 100644 --- a/lnbits/app.py +++ b/lnbits/app.py @@ -177,7 +177,7 @@ def register_exception_handlers(app: FastAPI): etype, _, tb = sys.exc_info() traceback.print_exception(etype, err, tb) exc = traceback.format_exc() - + if "text/html" in request.headers["accept"]: return template_renderer().TemplateResponse( "error.html", {"request": request, "err": err} @@ -185,5 +185,5 @@ def register_exception_handlers(app: FastAPI): return JSONResponse( status_code=HTTPStatus.NO_CONTENT, - content={"detail": exc.errors()}, + content={"detail": exc}, ) From 3e8d2a5ba1c96d2960c833a6c08eca9449d412db Mon Sep 17 00:00:00 2001 From: Tiago vasconcelos Date: Wed, 15 Jun 2022 16:49:39 +0100 Subject: [PATCH 3/3] fix response --- lnbits/app.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lnbits/app.py b/lnbits/app.py index d48d90604..2fd18d5bc 100644 --- a/lnbits/app.py +++ b/lnbits/app.py @@ -174,6 +174,7 @@ def register_exception_handlers(app: FastAPI): @app.exception_handler(Exception) async def basic_error(request: Request, err): print("handled error", traceback.format_exc()) + print("ERROR:", err) etype, _, tb = sys.exc_info() traceback.print_exception(etype, err, tb) exc = traceback.format_exc() @@ -182,8 +183,8 @@ def register_exception_handlers(app: FastAPI): return template_renderer().TemplateResponse( "error.html", {"request": request, "err": err} ) - + return JSONResponse( status_code=HTTPStatus.NO_CONTENT, - content={"detail": exc}, + content={"detail": err}, )