diff --git a/sdk/storage/azure-storage-blob/CHANGELOG.md b/sdk/storage/azure-storage-blob/CHANGELOG.md index 4184f6c8aa97..a42b7d357549 100644 --- a/sdk/storage/azure-storage-blob/CHANGELOG.md +++ b/sdk/storage/azure-storage-blob/CHANGELOG.md @@ -7,6 +7,7 @@ ### Breaking Changes ### Bugs Fixed +- Fixed possible invalid content range exception that gets raised when downloading empty blobs through Azurite. ### Other Changes - Removed `msrest` dependency. diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py index 1414aaa500e6..9d2b2346826c 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_download.py @@ -431,7 +431,7 @@ def _initial_request(self): # Parse the total file size and adjust the download size if ranges # were specified self._file_size = parse_length_from_content_range(response.properties.content_range) - if not self._file_size: + if self._file_size is None: raise ValueError("Required Content-Range response header is missing or malformed.") # Remove any extra encryption data size from blob size self._file_size = adjust_blob_size_for_encryption(self._file_size, self._encryption_data) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py index fe1afaae8768..d13da65f19cb 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/aio/_download_async.py @@ -353,7 +353,7 @@ async def _initial_request(self): # Parse the total file size and adjust the download size if ranges # were specified self._file_size = parse_length_from_content_range(response.properties.content_range) - if not self._file_size: + if self._file_size is None: raise ValueError("Required Content-Range response header is missing or malformed.") # Remove any extra encryption data size from blob size self._file_size = adjust_blob_size_for_encryption(self._file_size, self._encryption_data) diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_download.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_download.py index 3d54cb5fea94..94a0e25ec773 100644 --- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_download.py +++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_download.py @@ -311,7 +311,7 @@ def _initial_request(self): # Parse the total file size and adjust the download size if ranges # were specified self._file_size = parse_length_from_content_range(response.properties.content_range) - if not self._file_size: + if self._file_size is None: raise ValueError("Required Content-Range response header is missing or malformed.") if self._end_range is not None: diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/aio/_download_async.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/aio/_download_async.py index d1fc02bc7394..ffcddb2e7843 100644 --- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/aio/_download_async.py +++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/aio/_download_async.py @@ -264,7 +264,7 @@ async def _initial_request(self): # Parse the total file size and adjust the download size if ranges # were specified self._file_size = parse_length_from_content_range(response.properties.content_range) - if not self._file_size: + if self._file_size is None: raise ValueError("Required Content-Range response header is missing or malformed.") if self._end_range is not None: