Skip to content

Commit a6b202d

Browse files
committed
Update __ws_client.py
1 parent faf3dd8 commit a6b202d

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/mistapi/websockets/__ws_client.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,9 @@ def filter(self, record: logging.LogRecord) -> bool:
4040
return True
4141

4242

43-
logging.getLogger("websocket").addFilter(_HeaderRedactFilter())
43+
_ws_logger = logging.getLogger("websocket")
44+
if not any(isinstance(f, _HeaderRedactFilter) for f in _ws_logger.filters):
45+
_ws_logger.addFilter(_HeaderRedactFilter())
4446

4547
if TYPE_CHECKING:
4648
from mistapi import APISession
@@ -284,16 +286,18 @@ def connect(self, run_in_background: bool = True) -> None:
284286
def _run_forever_safe(self) -> None:
285287
try:
286288
while True:
289+
with self._lock:
290+
ws = self._ws
287291
try:
288292
sslopt = self._build_sslopt()
289-
self._ws.run_forever(
293+
ws.run_forever(
290294
ping_interval=self._ping_interval,
291295
ping_timeout=self._ping_timeout,
292296
sslopt=sslopt,
293297
)
294298
except Exception as exc:
295-
self._handle_error(self._ws, exc)
296-
self._handle_close(self._ws, -1, str(exc))
299+
self._handle_error(ws, exc)
300+
self._handle_close(ws, -1, str(exc))
297301

298302
if self._user_disconnect.is_set() or not self._auto_reconnect:
299303
break

0 commit comments

Comments
 (0)