Amazon-SQS-Client

 view release on metacpan or  search on metacpan

lib/Amazon/SQS/Exception.pm  view on Meta::CPAN

#
#
#
sub new {
  my ( $class, $errorInfo ) = @_;

  my $self = {};

  if ( exists( $errorInfo->{Exception} ) ) {
    my $exception = $errorInfo->{Exception};

    if ( ref $exception eq "Amazon::SQS::Exception" ) {
      $self->{_message}    = $exception->getMessage();
      $self->{_statusCode} = $exception->getStatusCode();
      $self->{_errorCode}  = $exception->getErrorCode();
      $self->{_errorType}  = $exception->getErrorType();
      $self->{_requestId}  = $exception->getRequestId();
      $self->{_xml}        = $exception->getXML();
      $self->{_httpError}  = $exception->getHTTPError();
    }
  }
  else {
    $self->{_message}    = $errorInfo->{Message}    // q{};
    $self->{_statusCode} = $errorInfo->{StatusCode} // q{};
    $self->{_errorCode}  = $errorInfo->{ErrorCode}  // q{};
    $self->{_errorType}  = $errorInfo->{ErrorType}  // q{};
    $self->{_requestId}  = $errorInfo->{RequestId}  // q{};
    $self->{_xml}        = $errorInfo->{XML}        // q{};
    $self->{_httpError}  = $errorInfo->{HTTPError}  // q{};
  }

  return bless $self, $class;
}

#
# Gets error type returned by the service if available.
#
sub getErrorCode {
  return shift->{_errorCode};
}

#
# Gets error type returned by the service.
#
# Possible types:  Sender, Receiver or Unknown
#
sub getErrorType {
  return shift->{_errorType};
}

#
# Gets error message
#
sub getMessage {
  return shift->{_message};
}

#
# Gets status code returned by the service if available. If status
# code is set to -1, it means that status code was unavailable at the
# time exception was thrown
#
sub getStatusCode {
  return shift->{_statusCode};
}

#
# Gets XML returned by the service if available.
#
sub getXML {
  return shift->{_xml};
}

#
# Gets Request ID returned by the service if available.
#
sub getRequestId {
  return shift->{_requestId};
}

#
# Gets the HTTP error response
#
sub getHTTPError {
  return shift->{_httpError};
}

1;

__END__



( run in 0.813 second using v1.01-cache-2.11-cpan-39bf76dae61 )