| | from fastapi import FastAPI, Request
|
| | from starlette.middleware.cors import CORSMiddleware
|
| | from fastapi.responses import JSONResponse
|
| | from api.logger import setup_logger
|
| | from api.routes import router
|
| |
|
| | logger = setup_logger(__name__)
|
| |
|
| | def create_app():
|
| | app = FastAPI()
|
| |
|
| |
|
| | app.add_middleware(
|
| | CORSMiddleware,
|
| | allow_origins=["*"],
|
| | allow_credentials=True,
|
| | allow_methods=["*"],
|
| | allow_headers=["*"],
|
| | )
|
| |
|
| |
|
| | app.include_router(router)
|
| |
|
| | @app.exception_handler(Exception)
|
| | async def global_exception_handler(request: Request, exc: Exception):
|
| | logger.error(f"An error occurred: {str(exc)}")
|
| | return JSONResponse(
|
| | status_code=500,
|
| | content={"message": "An internal server error occurred."},
|
| | )
|
| |
|
| | return app
|
| |
|
| | app = create_app()
|
| |
|