fix(client): close streams without requiring full consumption

This commit is contained in:
stainless-app[bot] 2025-10-30 02:10:23 +00:00
parent 7175e3b026
commit 14ee6073a4

View file

@ -57,9 +57,8 @@ class Stream(Generic[_T]):
for sse in iterator:
yield process_data(data=sse.json(), cast_to=cast_to, response=response)
# Ensure the entire stream is consumed
for _sse in iterator:
...
# As we might not fully consume the response stream, we need to close it explicitly
response.close()
def __enter__(self) -> Self:
return self
@ -121,9 +120,8 @@ class AsyncStream(Generic[_T]):
async for sse in iterator:
yield process_data(data=sse.json(), cast_to=cast_to, response=response)
# Ensure the entire stream is consumed
async for _sse in iterator:
...
# As we might not fully consume the response stream, we need to close it explicitly
await response.aclose()
async def __aenter__(self) -> Self:
return self