12
12
from typing import AsyncIterator
13
13
14
14
import asyncio
15
-
16
- from azure .core .exceptions import HttpResponseError , ServiceResponseError , IncompleteReadError
15
+ from aiohttp import ClientPayloadError
16
+ from azure .core .exceptions import HttpResponseError , ServiceResponseError
17
17
18
18
from .._shared .request_handlers import validate_and_format_range_headers
19
19
from .._shared .response_handlers import process_storage_error , parse_length_from_content_range
@@ -114,15 +114,14 @@ async def _download_chunk(self, chunk_start, chunk_end):
114
114
)
115
115
retry_active = False
116
116
117
- except IncompleteReadError as error :
117
+ except HttpResponseError as error :
118
+ process_storage_error (error )
119
+ except ClientPayloadError as error :
118
120
retry_total -= 1
119
121
if retry_total <= 0 :
120
122
raise ServiceResponseError (error , error = error )
121
123
await asyncio .sleep (1 )
122
124
123
- except HttpResponseError as error :
124
- process_storage_error (error )
125
-
126
125
chunk_data = await process_content (response , offset [0 ], offset [1 ], self .encryption_options )
127
126
128
127
@@ -357,12 +356,6 @@ async def _initial_request(self):
357
356
self .size = self ._file_size
358
357
retry_active = False
359
358
360
- except IncompleteReadError as error :
361
- retry_total -= 1
362
- if retry_total <= 0 :
363
- raise ServiceResponseError (error , error = error )
364
- await asyncio .sleep (1 )
365
-
366
359
except HttpResponseError as error :
367
360
if self ._start_range is None and error .response .status_code == 416 :
368
361
# Get range will fail on an empty file. If the user did not
@@ -384,6 +377,12 @@ async def _initial_request(self):
384
377
else :
385
378
process_storage_error (error )
386
379
380
+ except ClientPayloadError as error :
381
+ retry_total -= 1
382
+ if retry_total <= 0 :
383
+ raise ServiceResponseError (error , error = error )
384
+ await asyncio .sleep (1 )
385
+
387
386
# get page ranges to optimize downloading sparse page blob
388
387
if response .properties .blob_type == 'PageBlob' :
389
388
try :
0 commit comments