From 8fbe118cea8804fe29529a27f3937af412b47fb7 Mon Sep 17 00:00:00 2001 From: Tim Burke <tim.burke@gmail.com> Date: Wed, 17 Aug 2016 16:01:23 -0700 Subject: [PATCH] Strip leading/trailing whitespace from headers New versions of requests will raise an InvalidHeader error otherwise. Change-Id: Idf3bcd8ac359bdda9a847bf99a78988943374134 Closes-Bug: #1614280 Closes-Bug: #1613814 --- swiftclient/service.py | 2 +- tests/unit/test_service.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/swiftclient/service.py b/swiftclient/service.py index 6ccba552..3820ace9 100644 --- a/swiftclient/service.py +++ b/swiftclient/service.py @@ -280,7 +280,7 @@ def split_headers(options, prefix=''): for item in options: split_item = item.split(':', 1) if len(split_item) == 2: - headers[(prefix + split_item[0]).title()] = split_item[1] + headers[(prefix + split_item[0]).title()] = split_item[1].strip() else: raise SwiftError( "Metadata parameter %s must contain a ':'.\n%s" diff --git a/tests/unit/test_service.py b/tests/unit/test_service.py index 2e7acf95..989699f7 100644 --- a/tests/unit/test_service.py +++ b/tests/unit/test_service.py @@ -496,7 +496,7 @@ class TestServiceUtils(unittest.TestCase): self.assertEqual(opt_c['key'], 'key') def test_split_headers(self): - mock_headers = ['color:blue', 'size:large'] + mock_headers = ['color:blue', 'SIZE: large'] expected = {'Color': 'blue', 'Size': 'large'} actual = swiftclient.service.split_headers(mock_headers)