Class: Aws::Plugins::RetryErrors::ErrorInspector Private

Inherits:
Object
  • Object
show all
Defined in:
lib/aws-sdk-core/plugins/retry_errors.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary collapse

EXPIRED_CREDS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set.new([
  'InvalidClientTokenId',        # query services
  'UnrecognizedClientException', # json services
  'InvalidAccessKeyId',          # s3
  'AuthFailure',                 # ec2
])
THROTTLING_ERRORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set.new([
  'Throttling',                             # query services
  'ThrottlingException',                    # json services
  'RequestThrottled',                       # sqs
  'ProvisionedThroughputExceededException', # dynamodb
  'RequestLimitExceeded',                   # ec2
  'BandwidthLimitExceeded',                 # cloud search
])
CHECKSUM_ERRORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set.new([
  'CRC32CheckFailed', # dynamodb
])
NETWORKING_ERRORS =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Set.new([
  'RequestTimeout', # s3
])

Instance Method Summary collapse

Constructor Details

#initialize(error, http_status_code) ⇒ ErrorInspector

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of ErrorInspector.



45
46
47
48
49
# File 'lib/aws-sdk-core/plugins/retry_errors.rb', line 45

def initialize(error, http_status_code)
  @error = error
  @name = extract_name(error)
  @http_status_code = http_status_code
end

Instance Method Details

#checksum?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


59
60
61
# File 'lib/aws-sdk-core/plugins/retry_errors.rb', line 59

def checksum?
  CHECKSUM_ERRORS.include?(@name) || @error.is_a?(Errors::ChecksumError)
end

#expired_credentials?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


51
52
53
# File 'lib/aws-sdk-core/plugins/retry_errors.rb', line 51

def expired_credentials?
  !!(EXPIRED_CREDS.include?(@name) || @name.match(/expired/i))
end

#networking?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


63
64
65
66
# File 'lib/aws-sdk-core/plugins/retry_errors.rb', line 63

def networking?
  @error.is_a?(Seahorse::Client::NetworkingError) ||
  NETWORKING_ERRORS.include?(@name)
end

#server?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


68
69
70
# File 'lib/aws-sdk-core/plugins/retry_errors.rb', line 68

def server?
  (500..599).include?(@http_status_code)
end

#throttling_error?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)


55
56
57
# File 'lib/aws-sdk-core/plugins/retry_errors.rb', line 55

def throttling_error?
  !!(THROTTLING_ERRORS.include?(@name) || @name.match(/throttl/i))
end