From 055a4af048cd6252efb688ba14162cdf85012fc6 Mon Sep 17 00:00:00 2001 From: Francis Devereux Date: Tue, 10 Dec 2013 15:26:37 +0000 Subject: [PATCH] Use X-Object-Manifest instead of X-Object-Meta-Manifest when creating DLO This fixes 0-byte content when GETting Dynamic Large Objects (multipart files) created by pyrax from Rackspace Cloud Files (#258). --- pyrax/cf_wrapper/client.py | 2 +- tests/unit/test_cf_client.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyrax/cf_wrapper/client.py b/pyrax/cf_wrapper/client.py index 7f83a37b..4c38a238 100644 --- a/pyrax/cf_wrapper/client.py +++ b/pyrax/cf_wrapper/client.py @@ -781,7 +781,7 @@ def upload(fileobj, content_type, etag, headers): etag=etag, headers=headers, response_dict=extra_info) # Upload the manifest - headers["X-Object-Meta-Manifest"] = "%s." % obj_name + headers["X-Object-Manifest"] = "%s." % obj_name return self.connection.put_object(cont.name, obj_name, contents=None, headers=headers, response_dict=extra_info) diff --git a/tests/unit/test_cf_client.py b/tests/unit/test_cf_client.py index 1f53ea96..2de6592e 100644 --- a/tests/unit/test_cf_client.py +++ b/tests/unit/test_cf_client.py @@ -609,7 +609,7 @@ def test_upload_large_file_from_file_object_with_obj_name(self): self.assertEqual(put_calls[0][1][1], '%s.1' % obj_name) self.assertEqual(put_calls[1][1][1], '%s.2' % obj_name) self.assertEqual(put_calls[2][1][1], obj_name) - self.assertEqual(put_calls[2][2]["headers"]["X-Object-Meta-Manifest"], + self.assertEqual(put_calls[2][2]["headers"]["X-Object-Manifest"], obj_name + ".") # get_object() should be called with the same name that was passed