summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2021-05-20 15:32:50 -0700
committerTim Burke <tburke@nvidia.com>2021-05-21 18:41:57 +0000
commit18d8c15f93a0969281c9758e9d089556d7e0e2eb (patch)
treec08cbcc5c19f93b2acf22514011fee5e403e9075
parente69b3c60feb8c60cae5ec27508fd6f860d8c14e0 (diff)
downloadswift-18d8c15f93a0969281c9758e9d089556d7e0e2eb.tar.gz
symlink: Ensure headers are returned as a list on py3
Change-Id: Ic2f4487b6caf81fef3455ce03dda2cc144ae24ec Related-Bug: #1929083 Co-Authored-By: Walter Doekes <walter+github@wjd.nu> (cherry picked from commit 6bfd93d88644f0a7ff979dc9d6c3d85fff42f632)
-rw-r--r--swift/common/middleware/symlink.py2
-rw-r--r--test/unit/common/middleware/test_symlink.py1
2 files changed, 2 insertions, 1 deletions
diff --git a/swift/common/middleware/symlink.py b/swift/common/middleware/symlink.py
index d2c644438..e4c40cefc 100644
--- a/swift/common/middleware/symlink.py
+++ b/swift/common/middleware/symlink.py
@@ -421,7 +421,7 @@ class SymlinkObjectContext(WSGIContext):
resp = self._app_call(req.environ)
response_header_dict = HeaderKeyDict(self._response_headers)
symlink_sysmeta_to_usermeta(response_header_dict)
- self._response_headers = response_header_dict.items()
+ self._response_headers = list(response_header_dict.items())
return resp
def handle_get_head(self, req):
diff --git a/test/unit/common/middleware/test_symlink.py b/test/unit/common/middleware/test_symlink.py
index 01875ba48..37acc0e20 100644
--- a/test/unit/common/middleware/test_symlink.py
+++ b/test/unit/common/middleware/test_symlink.py
@@ -402,6 +402,7 @@ class TestSymlinkMiddleware(TestSymlinkMiddlewareBase):
req = Request.blank('/v1/a/c/symlink?symlink=get', method='GET')
status, headers, body = self.call_sym(req)
self.assertEqual(status, '200 OK')
+ self.assertIsInstance(headers, list)
self.assertIn(('X-Symlink-Target', 'c1/o'), headers)
self.assertNotIn('X-Symlink-Target-Account', dict(headers))