Merge "Copy final content-type from start marker for multipart uploads"

This commit is contained in:
Jenkins 2015-07-14 02:44:00 +00:00 committed by Gerrit Code Review
commit 151281915b
2 changed files with 7 additions and 1 deletions

View File

@ -470,6 +470,8 @@ class UploadController(Controller):
_key = key.lower()
if _key.startswith('x-amz-meta-'):
headers['x-object-meta-' + _key[11:]] = val
elif _key == 'content-type':
headers['Content-Type'] = val
# Query for the objects in the segments area to make sure it completed
query = {

View File

@ -81,7 +81,8 @@ class TestSwift3MultiUpload(Swift3TestCase):
self.swift.register('GET', segment_bucket, swob.HTTPOk, {},
object_list)
self.swift.register('HEAD', segment_bucket + '/object/X',
swob.HTTPOk, {'x-object-meta-foo': 'bar'}, None)
swob.HTTPOk, {'x-object-meta-foo': 'bar',
'content-type': 'baz/quux'}, None)
self.swift.register('PUT', segment_bucket + '/object/X',
swob.HTTPCreated, {}, None)
self.swift.register('DELETE', segment_bucket + '/object/X',
@ -615,6 +616,7 @@ class TestSwift3MultiUpload(Swift3TestCase):
_, _, headers = self.swift.calls_with_headers[-2]
self.assertEquals(headers.get('X-Object-Meta-Foo'), 'bar')
self.assertEquals(headers.get('Content-Type'), 'baz/quux')
@s3acl(s3acl_only=True)
def test_object_multipart_upload_complete_s3acl(self):
@ -624,6 +626,7 @@ class TestSwift3MultiUpload(Swift3TestCase):
headers[sysmeta_header('object', 'tmpacl')] = \
acl_headers.get(sysmeta_header('object', 'acl'))
headers['X-Object-Meta-Foo'] = 'bar'
headers['Content-Type'] = 'baz/quux'
self.swift.register('HEAD', '/v1/AUTH_test/bucket+segments/object/X',
swob.HTTPOk, headers, None)
req = Request.blank('/bucket/object?uploadId=X',
@ -636,6 +639,7 @@ class TestSwift3MultiUpload(Swift3TestCase):
_, _, headers = self.swift.calls_with_headers[-2]
self.assertEquals(headers.get('X-Object-Meta-Foo'), 'bar')
self.assertEquals(headers.get('Content-Type'), 'baz/quux')
self.assertEquals(tostring(ACLPublicRead(Owner('test:tester',
'test:tester')).elem()),
tostring(decode_acl('object', headers).elem()))