Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/handlers.py: 50%
22 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 03:04 +0000
1from fastapi import FastAPI, Request, status
2from fastapi.exceptions import RequestValidationError
3from fastapi.responses import JSONResponse
5from mealie.core.config import get_app_settings
6from mealie.core.root_logger import get_logger
8logger = get_logger()
11def log_wrapper(request: Request, e):
12 logger.error("Start 422 Error".center(60, "-"))
13 logger.error(f"{request.method} {request.url}")
14 logger.error(f"error is {e}")
15 logger.error("End 422 Error".center(60, "-"))
18def register_debug_handler(app: FastAPI):
19 settings = get_app_settings()
21 if settings.PRODUCTION and not settings.TESTING: 21 ↛ 24line 21 didn't jump to line 24 because the condition on line 21 was always true
22 return
24 @app.exception_handler(RequestValidationError)
25 async def validation_exception_handler(request: Request, exc: RequestValidationError):
26 exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
27 log_wrapper(request, exc)
28 content = {"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY, "message": exc_str, "data": None}
29 return JSONResponse(content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY)
31 return validation_exception_handler