|
3 | 3 |
|
4 | 4 | import asyncpg |
5 | 5 | from fastapi import Depends, FastAPI, Request |
6 | | -from fastapi.responses import HTMLResponse, JSONResponse |
| 6 | +from fastapi.responses import HTMLResponse |
7 | 7 | from fastapi.templating import Jinja2Templates |
8 | 8 | from rotoger import AppStructLogger |
9 | | -from sqlalchemy.exc import SQLAlchemyError |
| 9 | + |
10 | 10 |
|
11 | 11 | from app.api.health import router as health_router |
12 | 12 | from app.api.ml import router as ml_router |
|
17 | 17 | from app.config import settings as global_settings |
18 | 18 | from app.redis import get_redis |
19 | 19 | from app.services.auth import AuthBearer |
| 20 | +from app.exception_handlers import register_exception_handlers |
20 | 21 |
|
21 | 22 | logger = AppStructLogger().get_logger() |
22 | 23 | templates = Jinja2Templates(directory=Path(__file__).parent.parent / "templates") |
@@ -62,18 +63,8 @@ def create_app() -> FastAPI: |
62 | 63 | dependencies=[Depends(AuthBearer())], |
63 | 64 | ) |
64 | 65 |
|
65 | | - @app.exception_handler(SQLAlchemyError) |
66 | | - async def sqlalchemy_exception_handler(request: Request, exc: SQLAlchemyError): |
67 | | - await logger.aerror( |
68 | | - "A database error occurred", |
69 | | - sql_error=repr(exc), |
70 | | - request_url=request.url.path, |
71 | | - request_body=request.body, |
72 | | - ) |
73 | | - return JSONResponse( |
74 | | - status_code=500, |
75 | | - content={"message": "A database error occurred. Please try again later."}, |
76 | | - ) |
| 66 | + # Register exception handlers |
| 67 | + register_exception_handlers(app) |
77 | 68 |
|
78 | 69 | @app.get("/index", response_class=HTMLResponse) |
79 | 70 | def get_index(request: Request): |
|
0 commit comments