summaryrefslogtreecommitdiff
path: root/backend/decky_loader/loader.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/decky_loader/loader.py')
-rw-r--r--backend/decky_loader/loader.py24
1 files changed, 4 insertions, 20 deletions
diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py
index fa855c0a..ea3a2e75 100644
--- a/backend/decky_loader/loader.py
+++ b/backend/decky_loader/loader.py
@@ -87,9 +87,11 @@ class Loader:
self.observer.schedule(self.watcher, self.plugin_path, recursive=True) # type: ignore
self.observer.start()
self.loop.create_task(self.enable_reload_wait())
-
+
+ self.ws = WSRouter()
+
server_instance.web_app.add_routes([
- web.get("/socket", self.handle_ws),
+ web.get("/socket", self.ws.handle),
web.get("/frontend/{path:.*}", self.handle_frontend_assets),
web.get("/locales/{path:.*}", self.handle_frontend_locales),
web.get("/plugins", self.get_plugins),
@@ -99,24 +101,6 @@ 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)