From 26de529d9183c7eb62902284fcbc5a80a31a88c5 Mon Sep 17 00:00:00 2001 From: Viktor Anikeenko Date: Tue, 12 Nov 2024 10:48:53 +0200 Subject: [PATCH] [IMP] fastapi: detail to have exception message if debug flag provided --- fastapi/__manifest__.py | 2 +- fastapi/error_handlers.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/fastapi/__manifest__.py b/fastapi/__manifest__.py index 633f5014..0c7b9e9a 100644 --- a/fastapi/__manifest__.py +++ b/fastapi/__manifest__.py @@ -5,7 +5,7 @@ "name": "Odoo FastAPI", "summary": """ Odoo FastAPI endpoint""", - "version": "17.0.3.0.1", + "version": "17.0.4.0.0", "license": "LGPL-3", "author": "ACSONE SA/NV,Odoo Community Association (OCA)", "maintainers": ["lmignon"], diff --git a/fastapi/error_handlers.py b/fastapi/error_handlers.py index 2e4202d6..0f987315 100644 --- a/fastapi/error_handlers.py +++ b/fastapi/error_handlers.py @@ -1,6 +1,7 @@ # Copyright 2022 ACSONE SA/NV # License LGPL-3.0 or later (http://www.gnu.org/licenses/LGPL). +import os from starlette import status from starlette.exceptions import HTTPException, WebSocketException from starlette.middleware.errors import ServerErrorMiddleware @@ -20,7 +21,10 @@ def convert_exception_to_status_body(exc: Exception) -> tuple[int, dict]: body = {} status_code = status.HTTP_500_INTERNAL_SERVER_ERROR - details = "Internal Server Error" + if os.getenv("FASTAPI_DEBUG") == "1": + details = repr(exc) + else: + details = "Internal Server Error" if isinstance(exc, WerkzeugHTTPException): status_code = exc.code