CoolFace
Apppublic

Ramesh-vani/ws-bridge-for-test

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py47 linesDownload Raw Back to root
1import websockets2import asyncio3import sys4import os5 6 7URL = "wss://ramesh-vani-collabtest.hf.space"8headers = {'Authorization': f'Bearer {os.getenv("auth")}'}9 10async def receiver(ws,connection):11    12        try:13          async for msg in connection:14            # msg = await connection.recv()15            print(f"\nServer: {msg}")16            await ws.send(msg)17        except websockets.exceptions.WebSocketException as e:18            print(f"WebSocket exception: {e}")19            # sys.exit(1)20 21async def sender(ws,connection):22    23        try:24          async for msg in ws:25            # msg = await ws.recv()26            await connection.send(msg)27        except websockets.exceptions.WebSocketException as e:28            print(f"WebSocket exception: {e}")29            # sys.exit(1)30            31 32async def chat(websocket, path) -> None:33    try:34        async with websockets.connect(URL,extra_headers=headers) as ws:35            await asyncio.gather(36                receiver(websocket,ws),37                sender(websocket,ws)38            )39    except websockets.exceptions.WebSocketException as e:40        #print(f"WebSocket exception: {e}")41        sys.exit(1)42start_server = websockets.serve(chat,"0.0.0.0", 7860)43 44asyncio.get_event_loop().run_until_complete(start_server)45asyncio.get_event_loop().run_forever()46 47