#31619 [Bug]: LangGraph streaming leaks the httpx connection â LangGraphSSEStreamIterator has no close()/aclose()
## What happened?
LangGraph streaming leaks the underlying httpx connection whenever a stream is cleaned up (client disconnect, mid-stream error, or any early termination), because `LangGraphSSEStreamIterator` doesn't implement `close()` / `aclose()`.
`CustomStreamWrapper.aclose()` releases the underlying stream via: ```python if hasattr(stream_to_close, "aclose"): await stream_to_close.aclose() elif hasattr(stream_to_close, "close"): ... ``` `LangGraphSSEStreamIterator` (`litellm/llms/langgraph/chat/sse_iterator.py`) holds `self.response` (an httpx streaming response = a checked-out connection) but defines **neither** `aclose` **nor** `close` (nor `__del__`). So the cleanup contract silently no-ops and the connection is never returned to the pool. Additionally, `__next__`/`__anext__` swallow mid-stream exceptions and raise `Stop(Async)Iteration` without closing `self.response`.
This is the same failure class as #30271 (connection not released on early stream break). Other providers' stream iterators expose `aclose` (e.g. bare `response.aiter_lines()` generators), so cleanup propagates correctly â LangGraph breaks that chain.
## Repro (found via code review) ```python fâŚ