From 379ae6e21a6abb3f8a134bf610c77e5f9e697786 Mon Sep 17 00:00:00 2001 From: Xiaoxi Fu <49707495+xiafu-msft@users.noreply.github.com> Date: Tue, 2 Jun 2020 14:56:34 -0700 Subject: [PATCH] [Storage][Bug]request fail when metadata has trailing space (#11677) --- .../azure/storage/blob/_shared/request_handlers.py | 2 +- sdk/storage/azure-storage-blob/tests/test_common_blob.py | 2 +- sdk/storage/azure-storage-blob/tests/test_common_blob_async.py | 2 +- .../azure/storage/filedatalake/_shared/request_handlers.py | 2 +- .../azure/storage/fileshare/_shared/request_handlers.py | 2 +- .../azure/storage/queue/_shared/request_handlers.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/request_handlers.py b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/request_handlers.py index 2ce74d43db21..4f15b65a4b6d 100644 --- a/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/request_handlers.py +++ b/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/request_handlers.py @@ -143,5 +143,5 @@ def add_metadata_headers(metadata=None): headers = {} if metadata: for key, value in metadata.items(): - headers['x-ms-meta-{}'.format(key)] = value + headers['x-ms-meta-{}'.format(key.strip())] = value.strip() if value else value return headers diff --git a/sdk/storage/azure-storage-blob/tests/test_common_blob.py b/sdk/storage/azure-storage-blob/tests/test_common_blob.py index 0878effb3f1b..c3dec9083dd8 100644 --- a/sdk/storage/azure-storage-blob/tests/test_common_blob.py +++ b/sdk/storage/azure-storage-blob/tests/test_common_blob.py @@ -587,7 +587,7 @@ def test_set_blob_metadata_with_upper_case(self, resource_group, location, stora # bug in devtools...converts upper case header to lowercase # passes live. self._setup(storage_account, storage_account_key) - metadata = {'hello': 'world', 'number': '42', 'UP': 'UPval'} + metadata = {'hello': ' world ', ' number ': '42', 'UP': 'UPval'} blob_name = self._create_block_blob() # Act diff --git a/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py b/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py index 614b90d411a8..c8132e0b466c 100644 --- a/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py +++ b/sdk/storage/azure-storage-blob/tests/test_common_blob_async.py @@ -692,7 +692,7 @@ async def test_set_blob_metadata_with_upper_case(self, resource_group, location, # passes live. # Arrange await self._setup(storage_account, storage_account_key) - metadata = {'hello': 'world', 'number': '42', 'UP': 'UPval'} + metadata = {'hello': ' world ', ' number ': '42', 'UP': 'UPval'} blob_name = await self._create_block_blob() # Act diff --git a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/request_handlers.py b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/request_handlers.py index 2ce74d43db21..4f15b65a4b6d 100644 --- a/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/request_handlers.py +++ b/sdk/storage/azure-storage-file-datalake/azure/storage/filedatalake/_shared/request_handlers.py @@ -143,5 +143,5 @@ def add_metadata_headers(metadata=None): headers = {} if metadata: for key, value in metadata.items(): - headers['x-ms-meta-{}'.format(key)] = value + headers['x-ms-meta-{}'.format(key.strip())] = value.strip() if value else value return headers diff --git a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/request_handlers.py b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/request_handlers.py index 2ce74d43db21..4f15b65a4b6d 100644 --- a/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/request_handlers.py +++ b/sdk/storage/azure-storage-file-share/azure/storage/fileshare/_shared/request_handlers.py @@ -143,5 +143,5 @@ def add_metadata_headers(metadata=None): headers = {} if metadata: for key, value in metadata.items(): - headers['x-ms-meta-{}'.format(key)] = value + headers['x-ms-meta-{}'.format(key.strip())] = value.strip() if value else value return headers diff --git a/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/request_handlers.py b/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/request_handlers.py index 2ce74d43db21..4f15b65a4b6d 100644 --- a/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/request_handlers.py +++ b/sdk/storage/azure-storage-queue/azure/storage/queue/_shared/request_handlers.py @@ -143,5 +143,5 @@ def add_metadata_headers(metadata=None): headers = {} if metadata: for key, value in metadata.items(): - headers['x-ms-meta-{}'.format(key)] = value + headers['x-ms-meta-{}'.format(key.strip())] = value.strip() if value else value return headers