class Canistor::Storage::DeleteMarker
Represents the non-existence of an object on a versioned bucket.
Attributes
version_id[R]
Public Class Methods
new()
click to toggle source
# File lib/canistor/storage/delete_marker.rb, line 9 def initialize @version_id = generate_version_id end
Public Instance Methods
delete(context, subject)
click to toggle source
# File lib/canistor/storage/delete_marker.rb, line 28 def delete(context, subject) context.http_response.signal_headers(200, headers) end
get(context, subject)
click to toggle source
# File lib/canistor/storage/delete_marker.rb, line 24 def get(context, subject) Canistor::ErrorHandler.serve_no_such_key(context, subject) end
head(context, subject)
click to toggle source
# File lib/canistor/storage/delete_marker.rb, line 20 def head(context, subject) Canistor::ErrorHandler.serve_no_such_key(context, subject) end
headers()
click to toggle source
# File lib/canistor/storage/delete_marker.rb, line 13 def headers { 'x-amz-delete-marker' => 'true', 'x-amz-version-id' => version_id } end
Private Instance Methods
generate_version_id()
click to toggle source
# File lib/canistor/storage/delete_marker.rb, line 34 def generate_version_id Base64.strict_encode64(SecureRandom.hex(16)).gsub('=', '') end