Sha256: e2577e865afce1f2a730ffa5cc72eed319c39ab8ce3cc9ef872268e6eb35cb7f

Contents?: true

Size: 664 Bytes

Versions: 5

Compression:

Stored size: 664 Bytes

Contents

module Aws
  module Xml
    class ErrorParser

      def extract_error(response)
        error = MultiXml.parse(response.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.rc5 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc4 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc3 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc2 lib/aws/xml/error_parser.rb
aws-sdk-core-2.0.0.rc1 lib/aws/xml/error_parser.rb