Coverage for opt/mealie/lib/python3.12/site-packages/mealie/routes/handlers.py: 50%

22 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-11-25 15:48 +0000

1from fastapi import FastAPI, Request, status 1a

2from fastapi.exceptions import RequestValidationError 1a

3from fastapi.responses import JSONResponse 1a

4 

5from mealie.core.config import get_app_settings 1a

6from mealie.core.root_logger import get_logger 1a

7 

8logger = get_logger() 1a

9 

10 

11def log_wrapper(request: Request, e): 1a

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, "-")) 

16 

17 

18def register_debug_handler(app: FastAPI): 1a

19 settings = get_app_settings() 1a

20 

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 true1a

22 return 1a

23 

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) 

30 

31 return validation_exception_handler