]> git.ipfire.org Git - thirdparty/httpx.git/commitdiff
Handle StreamReset, and acknowledge received data (#81)
authorTom Christie <tom@tomchristie.com>
Sat, 25 May 2019 19:25:44 +0000 (20:25 +0100)
committerGitHub <noreply@github.com>
Sat, 25 May 2019 19:25:44 +0000 (20:25 +0100)
httpcore/dispatch/http2.py

index bb1857f307fa5f2d3fcd66de653139524c1b0186..402f3b651c6deeb61b3433b273d51af1ffececa9 100644 (file)
@@ -31,6 +31,7 @@ class HTTP2Connection:
         #  Start sending the request.
         if not self.initialized:
             self.initiate_connection()
+
         stream_id = await self.send_headers(request, timeout)
         self.events[stream_id] = []
 
@@ -117,8 +118,9 @@ class HTTP2Connection:
         while True:
             event = await self.receive_event(stream_id, timeout)
             if isinstance(event, h2.events.DataReceived):
+                self.h2_state.acknowledge_received_data(len(event.data), stream_id)
                 yield event.data
-            elif isinstance(event, h2.events.StreamEnded):
+            elif isinstance(event, (h2.events.StreamEnded, h2.events.StreamReset)):
                 break
 
     async def receive_event(