From 8cff11bf721be3139be00d1cc1323609c9d21995 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Thu, 6 May 2021 23:22:02 -0300 Subject: [PATCH] global quart errorhandler. --- lnbits/app.py | 24 +++++++++++++++++++++--- lnbits/tasks.py | 7 ------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/lnbits/app.py b/lnbits/app.py index c5654f8e3..6137fdaf3 100644 --- a/lnbits/app.py +++ b/lnbits/app.py @@ -1,6 +1,7 @@ import sys -import importlib import warnings +import importlib +import traceback from quart import g from quart_trio import QuartTrio @@ -23,7 +24,6 @@ from .tasks import ( invoice_listener, internal_invoice_listener, webhook_handler, - grab_app_for_later, ) from .settings import WALLET @@ -48,7 +48,7 @@ def create_app(config_object="lnbits.settings") -> QuartTrio: register_commands(app) register_request_hooks(app) register_async_tasks(app) - grab_app_for_later(app) + register_exception_handlers(app) return app @@ -135,3 +135,21 @@ def register_async_tasks(app): @app.after_serving async def stop_listeners(): pass + + +def register_exception_handlers(app): + @app.errorhandler(Exception) + async def basic_error(err): + etype, value, tb = sys.exc_info() + traceback.print_exception(etype, err, tb) + exc = traceback.format_exc() + return ( + "\n\n".join( + [ + "LNbits internal error!", + exc, + "If you believe this shouldn't be an error please bring it up on https://t.me/lnbits", + ] + ), + 500, + ) diff --git a/lnbits/tasks.py b/lnbits/tasks.py index 0e2ff98da..756b11425 100644 --- a/lnbits/tasks.py +++ b/lnbits/tasks.py @@ -13,13 +13,6 @@ from lnbits.core.crud import ( ) from lnbits.core.services import redeem_lnurl_withdraw -main_app: Optional[QuartTrio] = None - - -def grab_app_for_later(app: QuartTrio): - global main_app - main_app = app - deferred_async: List[Callable] = []