from fastapi import FastAPI | |
from fastapi.middleware.cors import CORSMiddleware | |
from fastapi.responses import FileResponse | |
from fastapi.staticfiles import StaticFiles | |
from . import constants | |
app = FastAPI() | |
# Lax on CORS headers (Spaces take care of security issues) | |
app.add_middleware( | |
CORSMiddleware, | |
allow_origins=["*"], | |
allow_credentials=True, | |
allow_methods=["*"], | |
allow_headers=["*"], | |
) | |
# Mount static files from dist directory (if configured) | |
if constants.SERVE_FRONTEND: | |
app.mount( | |
"/assets", | |
StaticFiles(directory=constants.FRONTEND_ASSETS_PATH), | |
name="assets", | |
) | |
async def serve_frontend(): | |
return FileResponse(constants.FRONTEND_INDEX_PATH) | |
async def health(): | |
return {"status": "ok"} | |