diff --git a/deepgram/clients/live/v1/client.py b/deepgram/clients/live/v1/client.py index 34080643..a05cb9f1 100644 --- a/deepgram/clients/live/v1/client.py +++ b/deepgram/clients/live/v1/client.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: MIT import json from websockets.sync.client import connect +import websockets import threading import time import logging, verboselogs @@ -191,12 +192,24 @@ def _listening(self) -> None: data, ) - except Exception as e: + except websockets.exceptions.ConnectionClosedOK as e: if e.code == 1000: self.logger.notice("_listening(1000) exiting gracefully") self.logger.debug("LiveClient._listening LEAVE") return + else: + error: ErrorResponse = { + "type": "Exception", + "description": "Unknown error _listening", + "message": f"{e}", + "variant": "", + } + self.logger.error(f"WebSocket connection closed with code {e.code}: {e.reason}") + self._emit(LiveTranscriptionEvents.Error, error) + self.logger.debug("LiveClient._listening LEAVE") + raise + except Exception as e: error: ErrorResponse = { "type": "Exception", "description": "Unknown error _listening", @@ -204,9 +217,9 @@ def _listening(self) -> None: "variant": "", } self._emit(LiveTranscriptionEvents.Error, error) - self.logger.error("Exception in _listening: %s", str(e)) self.logger.debug("LiveClient._listening LEAVE") + raise def _processing(self) -> None: self.logger.debug("LiveClient._processing ENTER")