@app.middleware("http")
async def handle_keynotfounderror_middleware(
request: Request, call_next: Callable[[Request], Coroutine[Any, Any, Response]]
) -> Response:
try:
return await call_next(request)
except KeyNotFoundError as e:
return JSONResponse(status_code=404, content={"detail": e.args[0]})