class Aws::Plugins::S3UrlEncodedKeys::Handler
def call(context)
def call(context) if context.params.key?(:encoding_type) @handler.call(context) # user managed else manage_keys(context) end end
def decode(member, struct)
def decode(member, struct) if struct[member] struct[member] = CGI.unescape(struct[member]) end end
def decode_list_multipart_uploads_keys(data)
def decode_list_multipart_uploads_keys(data) decode(:key_marker, data) decode(:next_key_marker, data) decode(:prefix, data) decode(:delimiter, data) data.uploads.each { |o| decode(:key, o) } if data.uploads data.common_prefixes.each { |o| decode(:prefix, o) } if data.common_prefixes end
def decode_list_object_versions_keys(data)
def decode_list_object_versions_keys(data) decode(:key_marker, data) decode(:next_key_marker, data) decode(:prefix, data) decode(:delimiter, data) data.versions.each { |o| decode(:key, o) } if data.versions data.delete_markers.each { |o| decode(:key, o) } if data.delete_markers data.common_prefixes.each { |o| decode(:prefix, o) } if data.common_prefixes end
def decode_list_objects_keys(data)
def decode_list_objects_keys(data) decode(:marker, data) decode(:next_marker, data) decode(:prefix, data) decode(:delimiter, data) data.contents.each { |o| decode(:key, o) } if data.contents data.common_prefixes.each { |o| decode(:prefix, o) } if data.common_prefixes end
def manage_keys(context)
def manage_keys(context) context.params[:encoding_type] = 'url' @handler.call(context).on_success do |resp| send("decode_#{resp.context.operation_name}_keys", resp.data) end end