Merge branch 'flask'

This commit is contained in:
SG
2023-05-14 21:32:44 +02:00
2 changed files with 34 additions and 5 deletions

33
transphase/quartphase.py Normal file
View File

@@ -0,0 +1,33 @@
import json
import asyncio
from quart import Quart, websocket
peer_list = {}
app = Quart(__name__)
@app.route("/")
async def retmain():
return f"Ready to relay\n"
@app.websocket("/ws")
async def handle_websockets():
peer_group_id = None
while True:
try:
message = await websocket.receive()
msg = json.loads(message)
if "peer_group_id" in msg:
peer_group_id = msg["peer_group_id"]
if peer_group_id not in peer_list:
peer_list[peer_group_id] = set()
peer_list[peer_group_id].add(websocket._get_current_object())
for peer in peer_list[peer_group_id]:
if peer != websocket._get_current_object():
await peer.send(message)
except asyncio.exceptions.CancelledError:
peer_list[peer_group_id].remove(websocket._get_current_object())
if len(peer_list[peer_group_id]) < 1:
peer_list.pop(peer_group_id)
app.run()

View File

@@ -1,6 +1,2 @@
asyncio==3.4.3
cffi==1.15.1
cryptography==40.0.2 cryptography==40.0.2
pycparser==2.21 quart
pyjson==1.3.0
websockets==11.0.2