diff --git a/app/main.py b/app/main.py index a668d10..0cf543f 100644 --- a/app/main.py +++ b/app/main.py @@ -99,6 +99,8 @@ async def health_check(): return {"status": "healthy", "sessions": len(active_sessions)} + + @app.get("/iceservers") async def get_ice_servers(): """Get ICE servers configuration for WebRTC.""" diff --git a/app/web_client.py b/app/web_client.py new file mode 100644 index 0000000..5994da3 --- /dev/null +++ b/app/web_client.py @@ -0,0 +1,28 @@ +"""Static web client server (port 8100 by default).""" + +from pathlib import Path +from fastapi import FastAPI, HTTPException +from fastapi.responses import FileResponse +import uvicorn + +WEB_CLIENT_PATH = Path(__file__).resolve().parent.parent / "examples" / "web_client.html" + +app = FastAPI(title="Python Active-Call Web Client", version="0.1.0") + + +@app.get("/") +async def web_client(): + """Serve the web client.""" + if not WEB_CLIENT_PATH.exists(): + raise HTTPException(status_code=404, detail="Web client not found") + return FileResponse(WEB_CLIENT_PATH) + + +if __name__ == "__main__": + uvicorn.run( + "app.web_client:app", + host="0.0.0.0", + port=8100, + reload=True, + log_level="info", + )