Пример #1
0
        public override AmazonServiceException UnmarshallException(JsonUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode)
        {
            ErrorResponse errorResponse = JsonErrorResponseUnmarshaller.GetInstance().Unmarshall(context);

            if (errorResponse.Code != null && errorResponse.Code.Equals("MissingParameterValueException"))
            {
                MissingParameterValueException ex = new MissingParameterValueException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                ex.Type = errorResponse.Metadata["Type"];

                ex.Code = errorResponse.Metadata["Code"];

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("ServiceUnavailableException"))
            {
                ServiceUnavailableException ex = new ServiceUnavailableException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                ex.Type = errorResponse.Metadata["Type"];

                ex.Code = errorResponse.Metadata["Code"];

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("InvalidParameterValueException"))
            {
                InvalidParameterValueException ex = new InvalidParameterValueException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                ex.Type = errorResponse.Metadata["Type"];

                ex.Code = errorResponse.Metadata["Code"];

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("LimitExceededException"))
            {
                LimitExceededException ex = new LimitExceededException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                ex.Type = errorResponse.Metadata["Type"];

                ex.Code = errorResponse.Metadata["Code"];

                return(ex);
            }

            return(new AmazonGlacierException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode));
        }
Пример #2
0
        protected bool CheckCodeSizeLimit(string code, ref RunResult runResult)
        {
            if (code.Length > WorkerConfiguration.Current.ExecutionCodeMaxSize)
            {
                runResult = new RunResult
                {
                    IsSuccess         = false,
                    FailureType       = RunResultFailureType.FatalError,
                    FatalErrorMessage = LimitExceededException.FormatMessage(LimitType.CodeSize)
                };
                return(false);
            }

            return(true);
        }
        public override AmazonServiceException UnmarshallException(JsonUnmarshallerContext context, Exception innerException, HttpStatusCode statusCode)
        {
            ErrorResponse errorResponse = JsonErrorResponseUnmarshaller.GetInstance().Unmarshall(context);

            if (errorResponse.Code != null && errorResponse.Code.Equals("AccessDeniedException"))
            {
                AccessDeniedException ex = new AccessDeniedException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("ResourceNotFoundException"))
            {
                ResourceNotFoundException ex = new ResourceNotFoundException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("InternalServiceException"))
            {
                InternalServiceException ex = new InternalServiceException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("LimitExceededException"))
            {
                LimitExceededException ex = new LimitExceededException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("ValidationException"))
            {
                ValidationException ex = new ValidationException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                return(ex);
            }

            if (errorResponse.Code != null && errorResponse.Code.Equals("IncompatibleVersionException"))
            {
                IncompatibleVersionException ex = new IncompatibleVersionException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode);

                return(ex);
            }

            return(new AmazonElasticTranscoderException(errorResponse.Message, innerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, statusCode));
        }
 private Exception CatchException(Exception ex)
 {
     throw ex switch
           {
               UsernameExistsException _ => new BusinessException(ErrorCode.UsernameAlreadyExists, ex),
               NotAuthorizedException _ => new BusinessException(ErrorCode.NotAuthorized, ex),
               TooManyRequestsException _ => new BusinessException(ErrorCode.TooManyRequests, ex),
               PasswordResetRequiredException _ => new BusinessException(ErrorCode.PasswordResetRequired, ex),
               UserNotFoundException _ => new BusinessException(ErrorCode.UserNotFound, ex),
               UserNotConfirmedException _ => new BusinessException(ErrorCode.UserNotConfirmed, ex),
               InvalidPasswordException _ => new BusinessException(ErrorCode.InvalidPassword, ex),
               CodeMismatchException _ => new BusinessException(ErrorCode.CodeMismatch, ex),
               ExpiredCodeException _ => new BusinessException(ErrorCode.ExpiredCode, ex),
               LimitExceededException _ => new BusinessException(ErrorCode.LimitExceeded, ex),
               BusinessException _ => ex,
               _ => new CriticalException(ErrorCode.InternalServerError, ex),
           };
 }