ai / backend /main.py
3v324v23's picture
agent
b4291bc
Raw
History Blame Contribute Delete
1.21 kB
import logging
from fastapi import FastAPI
from fastapi.responses import JSONResponse
from fastapi.middleware.cors import CORSMiddleware
from backend.api.routes import health, query, repo, upload
from backend.core.config import settings
from backend.core.logging import configure_logging
configure_logging()
logger = logging.getLogger(__name__)
app = FastAPI(title=settings.app_name)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(health.router, prefix=settings.api_prefix)
app.include_router(upload.router, prefix=settings.api_prefix)
app.include_router(repo.router, prefix=settings.api_prefix)
app.include_router(query.router, prefix=settings.api_prefix)
@app.exception_handler(Exception)
async def unhandled_exception_handler(request, exc: Exception):
logger.exception("Unhandled request error: %s %s", request.method, request.url)
detail = str(exc) if settings.debug_errors else "Internal Server Error"
return JSONResponse(status_code=500, content={"detail": detail})
@app.get("/")
def root() -> dict[str, str]:
return {"message": settings.app_name, "docs": "/docs"}