Sha256: ddb656ca6c7cf3c322e306c6d94b8949a080d6e019e6912d152985a5b9b66a48

Contents?: true

Size: 951 Bytes

Versions: 34

Compression:

Stored size: 951 Bytes

Contents

module Aws
  module Plugins
    class S3CompleteMultipartUploadFix < Seahorse::Client::Plugin

      class Handler < Seahorse::Client::Handler

        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

        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

      end

      handler(Handler,
        step: :build,
        priority: 40,
        operations: [:complete_multipart_upload]
      )

    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
aws-sdk-core-2.1.19 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.18 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.17 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.16 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.15 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.14 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.13 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.12 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.11 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.10 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.9 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.8 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.7 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.5 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.4 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.3 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.2 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.1 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.1.0 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb
aws-sdk-core-2.0.48 lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb