def delete_multiple_objects(bucket_name, object_names, options = {})
data = "<Delete>"
data << "<Quiet>true</Quiet>" if options.delete(:quiet)
version_ids = options.delete('versionId')
object_names.each do |object_name|
data << "<Object>"
data << "<Key>#{CGI.escapeHTML(object_name)}</Key>"
object_version = version_ids.nil? ? nil : version_ids[object_name]
if object_version
data << "<VersionId>#{CGI.escapeHTML(object_version)}</VersionId>"
end
data << "</Object>"
end
data << "</Delete>"
headers = options
headers['Content-Length'] = data.length
headers['Content-MD5'] = Base64.encode64(Digest::MD5.digest(data)).
gsub("\n", '')
request({
:body => data,
:expects => 200,
:headers => headers,
:host => "#{bucket_name}.#{@host}",
:method => 'POST',
:parser => Fog::Parsers::Storage::AWS::DeleteMultipleObjects.new,
:query => {'delete' => nil}
})
end