brestok's picture
init
516495b
raw
history blame contribute delete
988 Bytes
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from starlette.exceptions import HTTPException as StarletteHTTPException
from idreamers.core.config import settings
from idreamers.core.wrappers import PilotResponseWrapper, ErrorPilotResponse
def create_app() -> FastAPI:
app = FastAPI()
from idreamers.api.calculation import calculation_router
app.include_router(calculation_router, tags=['calculation'])
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
@app.exception_handler(StarletteHTTPException)
async def http_exception_handler(_, exc):
return PilotResponseWrapper(
data=None,
successful=False,
error=ErrorPilotResponse(message=str(exc.detail))
).response(exc.status_code)
@app.get("/")
async def read_root():
return {"calculation": "Hello world!"}
return app