in dax/internal/client/error.go [237:340]
func convertDaxError(e daxError) error {
codes := e.CodeSequence()
if len(codes) < 2 {
return e
}
md := protocol.ResponseMetadata{
StatusCode: e.StatusCode(),
RequestID: e.RequestID(),
}
switch codes[1] {
case 23:
if len(codes) > 2 {
switch codes[2] {
case 24:
return &dynamodb.ResourceNotFoundException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 35:
return &dynamodb.ResourceInUseException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
}
}
case 37:
if len(codes) > 3 {
switch codes[3] {
case 39:
if len(codes) > 4 {
switch codes[4] {
case 40:
return &dynamodb.ProvisionedThroughputExceededException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 41:
return &dynamodb.ResourceNotFoundException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 43:
return &dynamodb.ConditionalCheckFailedException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 45:
return &dynamodb.ResourceInUseException{
RespMetadata: md,
Message_: aws.String(e.Message())}
case 46:
// there's no dynamodb.ValidationException type
return awserr.NewRequestFailure(awserr.New(ErrCodeValidationException, e.Message(), nil), e.StatusCode(), e.RequestID())
case 47:
return &dynamodb.InternalServerError{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 48:
return &dynamodb.ItemCollectionSizeLimitExceededException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 49:
return &dynamodb.LimitExceededException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 50:
// there's no dynamodb.ThrottlingException type
return awserr.NewRequestFailure(awserr.New(ErrCodeThrottlingException, e.Message(), nil), e.StatusCode(), e.RequestID())
case 57:
return &dynamodb.TransactionConflictException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 58:
tcFailure, ok := e.(*daxTransactionCanceledFailure)
if ok {
return &dynamodb.TransactionCanceledException{
RespMetadata: md,
Message_: aws.String(e.Message()),
CancellationReasons: tcFailure.cancellationReasons,
}
}
case 59:
return &dynamodb.TransactionInProgressException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
case 60:
return &dynamodb.IdempotentParameterMismatchException{
RespMetadata: md,
Message_: aws.String(e.Message()),
}
}
}
case 44:
return awserr.NewRequestFailure(awserr.New(ErrCodeNotImplemented, e.Message(), nil), e.StatusCode(), e.RequestID())
}
}
}
return awserr.NewRequestFailure(awserr.New(ErrCodeUnknown, e.Message(), nil), e.StatusCode(), e.RequestID())
}