Spaces:
Paused
Paused
| # app/routers/flags.py | |
| from fastapi import APIRouter, Depends, HTTPException | |
| import httpx | |
| from app.deps import verify_api_key | |
| import os | |
| router = APIRouter(prefix="/flags", tags=["Feature Flags"]) | |
| NEXT_API = os.getenv("NEXT_API") # never hard-code localhost # internal Docker name (or env var) | |
| async def read_flag(key: str, _: str = Depends(verify_api_key)): | |
| async with httpx.AsyncClient() as c: | |
| r = await c.get(f"{NEXT_API}/api/flags/{key}", headers={"x-api-key": "dev-analytics-key-123"}) | |
| if r.status_code == 404: | |
| raise HTTPException(404, "Flag not found") | |
| return r.json() | |
| async def set_flag(key: str, body: dict, _: str = Depends(verify_api_key)): | |
| async with httpx.AsyncClient() as c: | |
| r = await c.put(f"{NEXT_API}/api/flags/{key}", json=body, headers={"x-api-key": "dev-analytics-key-123"}) | |
| return r.json() |