1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[rackspace|storage] Add copy_object request.

This commit is contained in:
Benjamin Manns 2012-02-16 14:39:32 -05:00
parent 288f5714c2
commit 4a97db0f2b
2 changed files with 28 additions and 0 deletions

View file

@ -0,0 +1,27 @@
module Fog
module Storage
class Rackspace
class Real
# Copy object
#
# ==== Parameters
# * source_container_name<~String> - Name of source bucket
# * source_object_name<~String> - Name of source object
# * target_container_name<~String> - Name of bucket to create copy in
# * target_object_name<~String> - Name for new copy of object
# * options<~Hash> - Additional headers
def copy_object(source_container_name, source_object_name, target_container_name, target_object_name, options={})
headers = { 'X-Copy-From' => "/#{source_container_name}/#{source_object_name}" }.merge(options)
request({
:expects => 201,
:headers => headers,
:method => 'PUT',
:path => "#{Fog::Rackspace.escape(target_container_name)}/#{Fog::Rackspace.escape(target_object_name)}"
})
end
end
end
end
end

View file

@ -15,6 +15,7 @@ module Fog
collection :files
request_path 'fog/rackspace/requests/storage'
request :copy_object
request :delete_container
request :delete_object
request :get_container