Handle StreamReset, and acknowledge received data (#81)

This commit is contained in:
Tom Christie 2019-05-25 20:25:44 +01:00 committed by GitHub
parent d8950efeb8
commit 9d19adba30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View 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(