TODO: Let Debug web app collapse/expand nested structures
TODO: Make Debug web app work with nested structures in commands
"""
+import asyncio
+import json
import os
import sys
-import json
from websockets import WebSocketServerProtocol, ConnectionClosed, serve
from websockets.http import Headers
from http import HTTPStatus
async def run(self) -> None:
"""Set up websocket server."""
- await serve(self._handler, host=self._host, port=self._port,
- process_request=self._process_request)
+ serving = False
+ while not serving:
+ try:
+ await serve(self._handler, host=self._host, port=self._port,
+ process_request=self._process_request)
+ serving = True
+ except OSError:
+ await asyncio.sleep(1)
print(f"WSServer '{self.name}' serving on port {self._port}.")