Files

54 lines
1.2 KiB
Python
Raw Permalink Normal View History

2026-01-15 20:54:21 +08:00
from typing import Dict, List, Set
import os
2026-04-13 19:21:42 +08:00
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.config import settings
from app.routers import api_router, root_router
2025-11-23 10:55:04 +08:00
app = FastAPI(title="Wolai Backend", version="0.1.0-stage0")
2026-01-15 20:54:21 +08:00
def parse_extra_origins(*values: str) -> List[str]:
out: Set[str] = set()
for raw in values:
if not raw:
continue
for item in str(raw).split(","):
origin = item.strip()
if origin:
out.add(origin)
return sorted(out)
extra_origins = parse_extra_origins(
settings.frontend_url,
os.getenv("FRONTEND_URLS", ""),
os.getenv("CORS_ALLOWED_ORIGINS", ""),
)
allow_origins = [
*extra_origins,
"http://localhost:3000",
"http://localhost:3001",
"http://127.0.0.1:3000",
"http://127.0.0.1:3001",
]
2026-04-13 19:21:42 +08:00
2025-11-23 10:55:04 +08:00
app.add_middleware(
CORSMiddleware,
2026-01-15 20:54:21 +08:00
allow_origins=allow_origins,
2025-11-23 10:55:04 +08:00
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
2026-04-13 19:21:42 +08:00
app.include_router(root_router)
app.include_router(api_router)
@app.get("/")
async def root() -> Dict[str, str]:
return {"message": "Wolai backend stage0 up"}