mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-05-24 01:12:54 -04:00
* add basic pre-commit file * add flake8 * add isort * add pep585-upgrade (typing upgrades) * use namespace for import * add mypy * update ci for backend * flake8 scope * fix version format * update makefile * disable strict option (temporary) * fix mypy issues * upgrade type hints (pre-commit) * add vscode typing check * add types to dev deps * remote container draft * update setup script * update compose version * run setup on create * dev containers update * remove unused pages * update setup tips * expose ports * Update pre-commit to include flask8-print (#1053) * Add in flake8-print to pre-commit * pin version of flake8-print * formatting * update getting strated docs * add mypy to pre-commit * purge .mypy_cache on clean * drop mypy Co-authored-by: zackbcom <zackbcom@users.noreply.github.com>
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from fastapi import FastAPI, Request, status
|
|
from fastapi.exceptions import RequestValidationError
|
|
from fastapi.responses import JSONResponse
|
|
|
|
from mealie.core.config import get_app_settings
|
|
from mealie.core.root_logger import get_logger
|
|
|
|
logger = get_logger()
|
|
|
|
|
|
def log_wrapper(request: Request, e):
|
|
logger.error("Start 422 Error".center(60, "-"))
|
|
logger.error(f"{request.method} {request.url}")
|
|
logger.error(f"error is {e}")
|
|
logger.error("End 422 Error".center(60, "-"))
|
|
|
|
|
|
def register_debug_handler(app: FastAPI):
|
|
settings = get_app_settings()
|
|
|
|
if settings.PRODUCTION and not settings.TESTING:
|
|
return
|
|
|
|
@app.exception_handler(RequestValidationError)
|
|
async def validation_exception_handler(request: Request, exc: RequestValidationError):
|
|
exc_str = f"{exc}".replace("\n", " ").replace(" ", " ")
|
|
log_wrapper(request, exc)
|
|
content = {"status_code": status.HTTP_422_UNPROCESSABLE_ENTITY, "message": exc_str, "data": None}
|
|
return JSONResponse(content=content, status_code=status.HTTP_422_UNPROCESSABLE_ENTITY)
|
|
|
|
return validation_exception_handler
|