diff options
| author | AAGaming <aa@mail.catvibers.me> | 2022-11-19 22:25:32 -0500 |
|---|---|---|
| committer | marios8543 <marios8543@gmail.com> | 2023-11-14 00:02:14 +0200 |
| commit | 8f299a90dc25c79852376be75947557177d5e11a (patch) | |
| tree | 2a34a78b0f22de4dcb9c457698d2bf3fb6f2c110 | |
| parent | 5a633fdd8284dd1a2b6f3c95806f033ef4a4becf (diff) | |
| download | decky-loader-8f299a90dc25c79852376be75947557177d5e11a.tar.gz decky-loader-8f299a90dc25c79852376be75947557177d5e11a.zip | |
init
| -rw-r--r-- | backend/decky_loader/loader.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py index 7567912c..fa855c0a 100644 --- a/backend/decky_loader/loader.py +++ b/backend/decky_loader/loader.py @@ -89,6 +89,7 @@ class Loader: self.loop.create_task(self.enable_reload_wait()) server_instance.web_app.add_routes([ + web.get("/socket", self.handle_ws), web.get("/frontend/{path:.*}", self.handle_frontend_assets), web.get("/locales/{path:.*}", self.handle_frontend_locales), web.get("/plugins", self.get_plugins), @@ -98,6 +99,24 @@ class Loader: web.post("/plugins/{plugin_name}/reload", self.handle_backend_reload_request) ]) + async def handle_ws(self, request: web.Request): + self.logger.debug('Websocket connection starting') + ws = web.WebSocketResponse() + await ws.prepare(request) + self.logger.debug('Websocket connection ready') + + async for msg in ws: + self.logger.debug(msg) + if msg.type == WSMsgType.TEXT: + self.logger.debug(msg.data) + if msg.data == 'close': + await ws.close() + else: + await ws.send_str(msg.data + '/answer') + + self.logger.debug('Websocket connection closed') + return ws + async def enable_reload_wait(self): if self.live_reload: await sleep(10) |
