Skip to content

Commit

Permalink
Merge pull request #431 from nolith/delete_object_url
Browse files Browse the repository at this point in the history
Expose S3 pre-signed object delete url
  • Loading branch information
geemus authored Feb 21, 2018
2 parents 9657929 + b4529ca commit 61b3dbb
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
40 changes: 40 additions & 0 deletions lib/fog/aws/requests/storage/delete_object_url.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
module Fog
module Storage
class AWS
module DeleteObjectUrl
def delete_object_url(bucket_name, object_name, expires, options = {})
unless bucket_name
raise ArgumentError.new('bucket_name is required')
end
unless object_name
raise ArgumentError.new('object_name is required')
end
signed_url(options.merge({
:bucket_name => bucket_name,
:object_name => object_name,
:method => 'DELETE'
}), expires)
end
end

class Real
# Get an expiring object url from S3 for deleting an object
#
# @param bucket_name [String] Name of bucket containing object
# @param object_name [String] Name of object to get expiring url for
# @param expires [Time] An expiry time for this url
#
# @return [Excon::Response] response:
# * body [String] - url for object
#
# @see http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html

include DeleteObjectUrl
end

class Mock # :nodoc:all
include DeleteObjectUrl
end
end
end
end
1 change: 1 addition & 0 deletions lib/fog/aws/storage.rb
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ class AWS < Fog::Service
request :delete_bucket_policy
request :delete_bucket_website
request :delete_object
request :delete_object_url
request :delete_multiple_objects
request :delete_bucket_tagging
request :get_bucket
Expand Down

0 comments on commit 61b3dbb

Please sign in to comment.