Skip to content

Commit e233bd4

Browse files
chore(internal): streaming refactors (#2012)
1 parent 2a9d5fb commit e233bd4

File tree

1 file changed

+32
-34
lines changed

1 file changed

+32
-34
lines changed

src/openai/_streaming.py

+32-34
Original file line numberDiff line numberDiff line change
@@ -59,23 +59,22 @@ def __stream__(self) -> Iterator[_T]:
5959
if sse.data.startswith("[DONE]"):
6060
break
6161

62-
if sse.event is None:
63-
data = sse.json()
64-
if is_mapping(data) and data.get("error"):
65-
message = None
66-
error = data.get("error")
67-
if is_mapping(error):
68-
message = error.get("message")
69-
if not message or not isinstance(message, str):
70-
message = "An error occurred during streaming"
71-
72-
raise APIError(
73-
message=message,
74-
request=self.response.request,
75-
body=data["error"],
76-
)
77-
78-
yield process_data(data=data, cast_to=cast_to, response=response)
62+
data = sse.json()
63+
if is_mapping(data) and data.get("error"):
64+
message = None
65+
error = data.get("error")
66+
if is_mapping(error):
67+
message = error.get("message")
68+
if not message or not isinstance(message, str):
69+
message = "An error occurred during streaming"
70+
71+
raise APIError(
72+
message=message,
73+
request=self.response.request,
74+
body=data["error"],
75+
)
76+
77+
yield process_data(data=data, cast_to=cast_to, response=response)
7978

8079
# Ensure the entire stream is consumed
8180
for _sse in iterator:
@@ -142,23 +141,22 @@ async def __stream__(self) -> AsyncIterator[_T]:
142141
if sse.data.startswith("[DONE]"):
143142
break
144143

145-
if sse.event is None:
146-
data = sse.json()
147-
if is_mapping(data) and data.get("error"):
148-
message = None
149-
error = data.get("error")
150-
if is_mapping(error):
151-
message = error.get("message")
152-
if not message or not isinstance(message, str):
153-
message = "An error occurred during streaming"
154-
155-
raise APIError(
156-
message=message,
157-
request=self.response.request,
158-
body=data["error"],
159-
)
160-
161-
yield process_data(data=data, cast_to=cast_to, response=response)
144+
data = sse.json()
145+
if is_mapping(data) and data.get("error"):
146+
message = None
147+
error = data.get("error")
148+
if is_mapping(error):
149+
message = error.get("message")
150+
if not message or not isinstance(message, str):
151+
message = "An error occurred during streaming"
152+
153+
raise APIError(
154+
message=message,
155+
request=self.response.request,
156+
body=data["error"],
157+
)
158+
159+
yield process_data(data=data, cast_to=cast_to, response=response)
162160

163161
# Ensure the entire stream is consumed
164162
async for _sse in iterator:

0 commit comments

Comments
 (0)