Working broadcasting library

This commit is contained in:
2023-11-20 22:58:01 +01:00
parent 026b1a314a
commit 9d9124e00a
5 changed files with 271 additions and 5 deletions

View File

@@ -4,11 +4,13 @@ from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.routing import APIRoute
from fastapi.staticfiles import StaticFiles
from contextlib import asynccontextmanager
from typing import Any
from ..errors import ClanError
from .assets import asset_path
from .error_handlers import clan_error_handler
from .routers import health, root, socket_manager
from .routers import health, root, socket_manager, socket_manager2
origins = [
"http://localhost:3000",
@@ -17,8 +19,15 @@ origins = [
log = logging.getLogger(__name__)
@asynccontextmanager
async def lifespan(app: FastAPI) -> Any:
await socket_manager2.brd.connect()
yield
await socket_manager2.brd.disconnect()
def setup_app() -> FastAPI:
app = FastAPI()
app = FastAPI(lifespan=lifespan)
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
@@ -30,6 +39,7 @@ def setup_app() -> FastAPI:
app.include_router(health.router)
app.include_router(socket_manager.router)
app.include_router(socket_manager2.router)
# Needs to be last in register. Because of wildcard route
app.include_router(root.router)