Commit babe65f9

stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
2025-01-14 00:20:02
chore(internal): streaming refactors (#2012)
1 parent d9c966d
Changed files (1)
src
src/openai/_streaming.py
@@ -59,23 +59,22 @@ class Stream(Generic[_T]):
             if sse.data.startswith("[DONE]"):
                 break
 
-            if sse.event is None:
-                data = sse.json()
-                if is_mapping(data) and data.get("error"):
-                    message = None
-                    error = data.get("error")
-                    if is_mapping(error):
-                        message = error.get("message")
-                    if not message or not isinstance(message, str):
-                        message = "An error occurred during streaming"
-
-                    raise APIError(
-                        message=message,
-                        request=self.response.request,
-                        body=data["error"],
-                    )
-
-                yield process_data(data=data, cast_to=cast_to, response=response)
+            data = sse.json()
+            if is_mapping(data) and data.get("error"):
+                message = None
+                error = data.get("error")
+                if is_mapping(error):
+                    message = error.get("message")
+                if not message or not isinstance(message, str):
+                    message = "An error occurred during streaming"
+
+                raise APIError(
+                    message=message,
+                    request=self.response.request,
+                    body=data["error"],
+                )
+
+            yield process_data(data=data, cast_to=cast_to, response=response)
 
             else:
                 data = sse.json()
@@ -161,23 +160,22 @@ class AsyncStream(Generic[_T]):
             if sse.data.startswith("[DONE]"):
                 break
 
-            if sse.event is None:
-                data = sse.json()
-                if is_mapping(data) and data.get("error"):
-                    message = None
-                    error = data.get("error")
-                    if is_mapping(error):
-                        message = error.get("message")
-                    if not message or not isinstance(message, str):
-                        message = "An error occurred during streaming"
-
-                    raise APIError(
-                        message=message,
-                        request=self.response.request,
-                        body=data["error"],
-                    )
-
-                yield process_data(data=data, cast_to=cast_to, response=response)
+            data = sse.json()
+            if is_mapping(data) and data.get("error"):
+                message = None
+                error = data.get("error")
+                if is_mapping(error):
+                    message = error.get("message")
+                if not message or not isinstance(message, str):
+                    message = "An error occurred during streaming"
+
+                raise APIError(
+                    message=message,
+                    request=self.response.request,
+                    body=data["error"],
+                )
+
+            yield process_data(data=data, cast_to=cast_to, response=response)
 
             else:
                 data = sse.json()