From 45a9565cf4ea95bf7ad5994e24566477ee4eebb0 Mon Sep 17 00:00:00 2001 From: Davide Casale Date: Wed, 23 Nov 2022 16:28:05 +0100 Subject: [PATCH] Fix bug regarding closing websocket connection with .close coroutine method. --- bfxapi/websocket/BfxWebsocketClient.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bfxapi/websocket/BfxWebsocketClient.py b/bfxapi/websocket/BfxWebsocketClient.py index 07a4c11..dd11168 100644 --- a/bfxapi/websocket/BfxWebsocketClient.py +++ b/bfxapi/websocket/BfxWebsocketClient.py @@ -68,6 +68,7 @@ class BfxWebsocketClient(object): elif isinstance(message, list) and (chanId := message[0]) == 0 and message[1] != HEARTBEAT: self.handler.handle(message[1], message[2]) except websockets.ConnectionClosedError: continue + finally: await self.websocket.wait_closed(); break async def __authenticate(self, API_KEY, API_SECRET, filter=None): data = { "event": "auth", "filter": filter, "apiKey": API_KEY } @@ -170,6 +171,7 @@ class _BfxWebsocketBucket(object): elif isinstance(message, list) and (chanId := message[0]) and message[1] != HEARTBEAT: self.handler.handle(self.chanIds[chanId], *message[1:]) except websockets.ConnectionClosedError: continue + finally: await self.websocket.wait_closed(); break @_require_websocket_connection async def _subscribe(self, channel, subId=None, **kwargs):