handle error if range request transport is reset

This commit is contained in:
Jack Robison 2019-09-26 17:07:05 -04:00
parent 292f1953e1
commit 35d2d55a27
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2

View file

@ -289,8 +289,8 @@ class ManagedStream:
await response.prepare(request)
self.streaming_responses.append((request, response))
self.streaming.set()
wrote = 0
try:
wrote = 0
async for blob_info, decrypted in self._aiter_read_stream(skip_blobs, connection_id=self.STREAMING_ID):
if not wrote:
decrypted = decrypted[first_blob_start_offset:]
@ -308,6 +308,9 @@ class ManagedStream:
if response._eof_sent:
break
return response
except ConnectionResetError:
log.warning("connection was reset after sending browser %i blob bytes", wrote)
raise asyncio.CancelledError("range request transport was reset")
finally:
response.force_close()
if (request, response) in self.streaming_responses: