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:
parent
288f5714c2
commit
4a97db0f2b
2 changed files with 28 additions and 0 deletions
27
lib/fog/rackspace/requests/storage/copy_object.rb
Normal file
27
lib/fog/rackspace/requests/storage/copy_object.rb
Normal 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
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue