diff --git a/src/openai/resources/realtime/realtime.py b/src/openai/resources/realtime/realtime.py index e4c5bd8163..bde3423e89 100644 --- a/src/openai/resources/realtime/realtime.py +++ b/src/openai/resources/realtime/realtime.py @@ -362,7 +362,12 @@ async def send_raw(self, data: bytes | str) -> None: raw = data if isinstance(data, str) else data.decode("utf-8") self._send_queue.enqueue(raw) return - await self._connection.send(data) + try: + await self._connection.send(data) + except Exception: + raw = data if isinstance(data, str) else data.decode("utf-8") + self._send_queue.enqueue(raw) + raise async def close(self, *, code: int = 1000, reason: str = "") -> None: self._intentionally_closed = True @@ -842,7 +847,12 @@ def send_raw(self, data: bytes | str) -> None: raw = data if isinstance(data, str) else data.decode("utf-8") self._send_queue.enqueue(raw) return - self._connection.send(data) + try: + self._connection.send(data) + except Exception: + raw = data if isinstance(data, str) else data.decode("utf-8") + self._send_queue.enqueue(raw) + raise def close(self, *, code: int = 1000, reason: str = "") -> None: self._intentionally_closed = True diff --git a/src/openai/resources/responses/responses.py b/src/openai/resources/responses/responses.py index 5019d7e831..bf1712cc10 100644 --- a/src/openai/resources/responses/responses.py +++ b/src/openai/resources/responses/responses.py @@ -3855,7 +3855,12 @@ async def send_raw(self, data: bytes | str) -> None: raw = data if isinstance(data, str) else data.decode("utf-8") self._send_queue.enqueue(raw) return - await self._connection.send(data) + try: + await self._connection.send(data) + except Exception: + raw = data if isinstance(data, str) else data.decode("utf-8") + self._send_queue.enqueue(raw) + raise async def close(self, *, code: int = 1000, reason: str = "") -> None: self._intentionally_closed = True @@ -4312,7 +4317,12 @@ def send_raw(self, data: bytes | str) -> None: raw = data if isinstance(data, str) else data.decode("utf-8") self._send_queue.enqueue(raw) return - self._connection.send(data) + try: + self._connection.send(data) + except Exception: + raw = data if isinstance(data, str) else data.decode("utf-8") + self._send_queue.enqueue(raw) + raise def close(self, *, code: int = 1000, reason: str = "") -> None: self._intentionally_closed = True