Sha256: bd8720f68eeb9fb22c87ba78eafdc14a858d00e9a7cbe7ba11302423734f5d5e

Contents?: true

Size: 672 Bytes

Versions: 5

Compression:

Stored size: 672 Bytes

Contents

module Aws
  module Xml
    class ErrorParser

      def extract_error(response)
        error = MultiXml.parse(response.context.http_response.body_contents)
        %w(Response ErrorResponse Errors Error).each do |wrapper|
          error = error[wrapper] if error[wrapper]
        end
        [remove_prefix(response, error['Code']), error['Message']]
      end

      def remove_prefix(response, error_code)
        prefix = response.context.config.api.metadata['error_prefix']
        if prefix = response.context.config.api.metadata['error_prefix']
          error_code.sub(/^#{prefix}/, '')
        else
          error_code
        end
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
aws-sdk-core-2.0.0.rc10 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc9 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc8 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc7 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc6 lib/aws/xml/error_parser.rb