diff --git a/swiftclient/service.py b/swiftclient/service.py index 99c833e0..67ea2e3a 100644 --- a/swiftclient/service.py +++ b/swiftclient/service.py @@ -1657,10 +1657,13 @@ class SwiftService(object): fp.seek(segment_start) contents = LengthWrapper(fp, segment_size, md5=options['checksum']) - etag = conn.put_object(segment_container, - segment_name, contents, - content_length=segment_size, - response_dict=results_dict) + etag = conn.put_object( + segment_container, + segment_name, + contents, + content_length=segment_size, + content_type='application/swiftclient-segment', + response_dict=results_dict) if options['checksum'] and etag and etag != contents.get_md5sum(): raise SwiftError('Segment {0}: upload verification failed: ' diff --git a/tests/unit/test_service.py b/tests/unit/test_service.py index e9310aa7..d8de581a 100644 --- a/tests/unit/test_service.py +++ b/tests/unit/test_service.py @@ -945,11 +945,12 @@ class TestServiceUpload(_TestServiceBase): self.assertEqual(r, expected_r) self.assertEqual(mock_conn.put_object.call_count, 1) - mock_conn.put_object.assert_called_with('test_c_segments', - 'test_s_1', - mock.ANY, - content_length=10, - response_dict={}) + mock_conn.put_object.assert_called_with( + 'test_c_segments', 'test_s_1', + mock.ANY, + content_length=10, + content_type='application/swiftclient-segment', + response_dict={}) contents = mock_conn.put_object.call_args[0][2] self.assertIsInstance(contents, utils.LengthWrapper) self.assertEqual(len(contents), 10) @@ -988,11 +989,12 @@ class TestServiceUpload(_TestServiceBase): self.assertIsNone(r.get('error')) self.assertEqual(mock_conn.put_object.call_count, 1) - mock_conn.put_object.assert_called_with('test_c_segments', - 'test_s_1', - mock.ANY, - content_length=10, - response_dict={}) + mock_conn.put_object.assert_called_with( + 'test_c_segments', 'test_s_1', + mock.ANY, + content_length=10, + content_type='application/swiftclient-segment', + response_dict={}) contents = mock_conn.put_object.call_args[0][2] # Check that md5sum is not calculated. self.assertEqual(contents.get_md5sum(), '') @@ -1028,11 +1030,12 @@ class TestServiceUpload(_TestServiceBase): self.assertIn('md5 mismatch', str(r.get('error'))) self.assertEqual(mock_conn.put_object.call_count, 1) - mock_conn.put_object.assert_called_with('test_c_segments', - 'test_s_1', - mock.ANY, - content_length=10, - response_dict={}) + mock_conn.put_object.assert_called_with( + 'test_c_segments', 'test_s_1', + mock.ANY, + content_length=10, + content_type='application/swiftclient-segment', + response_dict={}) contents = mock_conn.put_object.call_args[0][2] self.assertEqual(contents.get_md5sum(), md5(b'b' * 10).hexdigest())