Stop osSDK mangling Swift metadata keys

Make the _calculate_headers function check the values
as well as the keys in _system_metadata for metadata
keys passed in, and otherwise first check if the key
has the _custom_metadata_prefix before prepending it.

Change-Id: Icb27c6fd43b143676b23c3aca7f23d9d8ab0f04e
This commit is contained in:
Adrian Turjak 2017-11-30 18:15:45 +13:00
parent eb9d3a5a46
commit 895db17123
1 changed files with 7 additions and 2 deletions

View File

@ -27,10 +27,15 @@ class BaseResource(resource.Resource):
def _calculate_headers(self, metadata):
headers = dict()
for key in metadata:
if key in self._system_metadata:
if key in self._system_metadata.keys():
header = self._system_metadata[key]
elif key in self._system_metadata.values():
header = key
else:
header = self._custom_metadata_prefix + key
if key.startswith(self._custom_metadata_prefix):
header = key
else:
header = self._custom_metadata_prefix + key
headers[header] = metadata[key]
return headers