diff --git a/ilsp/server.py b/ilsp/server.py index f1bee87..8e724d2 100644 --- a/ilsp/server.py +++ b/ilsp/server.py @@ -67,8 +67,10 @@ async def _ws_proxy(request: web.Request, host: str, port: int) -> web.WebSocket await ws.prepare(request) try: - tcp_reader, tcp_writer = await asyncio.open_connection(host, port) - except OSError as exc: + tcp_reader, tcp_writer = await asyncio.wait_for( + asyncio.open_connection(host, port), timeout=3.0 + ) + except (OSError, asyncio.TimeoutError) as exc: logger.error("Cannot connect to LSP on %s:%d — %s", host, port, exc) await ws.close(code=1011, message=b"LSP backend unavailable") return ws