import traceback from http import HTTPStatus from kui.asgi import HTTPException, JSONResponse class ExceptionHandler: async def http_exception_handler(self, exc: HTTPException): return JSONResponse( dict( statusCode=exc.status_code, message=exc.content, error=HTTPStatus(exc.status_code).phrase, ), exc.status_code, exc.headers, ) async def other_exception_handler(self, exc: Exception): traceback.print_exc() status = HTTPStatus.INTERNAL_SERVER_ERROR return JSONResponse( dict(statusCode=status, message=str(exc), error=status.phrase), status, )