from fastapi import FastAPI, APIRouter from starlette.websockets import WebSocket from server.model.data import Game, Player app = FastAPI() router = APIRouter() game = Game() @router.get("/") async def hello_world(): return "Hello, gentle[wo]man" @router.post("/join") async def join(player_name: str): game.players.append(Player(player_name)) @router.post("/ready") async def ready(): pass @router.post("/play") async def play(): pass @app.websocket("/ws") async def websocket_endpoint(websocket: WebSocket): await websocket.accept() while True: data = await websocket.receive_text() await websocket.send_text(f"Message text was: {data}") app.include_router(router) if __name__ == '__main__': import uvicorn uvicorn.run("app:app", host="0.0.0.0", port=9042, reload=True)