Class: Aws::Plugins::S3CompleteMultipartUploadFix::Handler

Inherits:
Seahorse::Client::Handler show all
Defined in:
lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Handler

#handler

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Handler

#initialize, #inspect

Constructor Details

This class inherits a constructor from Seahorse::Client::Handler

Instance Method Details

#call(context) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb', line 7

def call(context)
  @handler.call(context).on(200) do |response|
    if error = check_for_error(context)
      context.http_response.status_code = 500
      response.data = nil
      response.error = error
    end
  end
end

#check_for_error(context) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb', line 17

def check_for_error(context)
  xml = context.http_response.body_contents
  if xml.match(/<Error>/)
    error_code = xml.match(/<Code>(.+?)<\/Code>/)[1]
    error_message = xml.match(/<Message>(.+?)<\/Message>/)[1]
    S3::Errors.error_class(error_code).new(context, error_message)
  end
end