17 lines
573 B
Python
17 lines
573 B
Python
|
|
"""Error handlers for the query API."""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from fastapi import FastAPI, Request
|
||
|
|
from fastapi.responses import JSONResponse
|
||
|
|
|
||
|
|
|
||
|
|
def register_error_handlers(app: FastAPI) -> None:
|
||
|
|
@app.exception_handler(ValueError)
|
||
|
|
async def value_error_handler(request: Request, exc: ValueError):
|
||
|
|
return JSONResponse(status_code=400, content={"detail": str(exc)})
|
||
|
|
|
||
|
|
@app.exception_handler(KeyError)
|
||
|
|
async def key_error_handler(request: Request, exc: KeyError):
|
||
|
|
return JSONResponse(status_code=404, content={"detail": str(exc)})
|