/// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public ForbiddenException(ReliableHttpException exception) : base(exception)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public InternalServerErrorException(ReliableHttpException exception) : base(exception)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public ForbiddenException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public ThrottlingException(ReliableHttpException exception) : base(exception)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public InternalServerErrorException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
Exemplo n.º 6
0
        private ReliableHttpException CreateApiException(string responseText)
        {
            ReliableHttpException ex2 = null;

            try
            {
                var err = Serializer.DeserializeObject <ApiErrorResponseDTO>(responseText);
                switch (err.ErrorCode)
                {
                case (int)ErrorCode.Forbidden:
                    ex2 = new ForbiddenException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InternalServerError:
                    ex2 = new InternalServerErrorException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InvalidCredentials:
                    ex2 = new InvalidCredentialsException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InvalidJsonRequest:
                    ex2 = new InvalidJsonRequestException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InvalidJsonRequestCaseFormat:
                    ex2 = new InvalidJsonRequestCaseFormatException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InvalidParameterType:
                    ex2 = new InvalidParameterTypeException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InvalidParameterValue:
                    ex2 = new InvalidParameterValueException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.InvalidSession:
                    ex2 = new InvalidSessionException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.NoDataAvailable:
                    ex2 = new NoDataAvailableException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.ParameterMissing:
                    ex2 = new ParameterMissingException(err.ErrorMessage);
                    break;

                case (int)ErrorCode.Throttling:
                    ex2 = new ThrottlingException(err.ErrorMessage);
                    break;

                default:
                    ex2 = new ReliableHttpException(err.ErrorMessage);
                    break;
                }

                ex2.ResponseText = responseText;
                ex2.ErrorCode    = err.ErrorCode;
                ex2.HttpStatus   = err.HttpStatus;
            }
            // ReSharper disable EmptyGeneralCatchClause
            catch
            // ReSharper restore EmptyGeneralCatchClause
            {
                //swallow
            }
            return(ex2);
        }
Exemplo n.º 7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public InvalidCredentialsException(string message, ReliableHttpException exception)
     : base(message, exception)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public InvalidJsonRequestException(ReliableHttpException exception) : base(exception)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public ParameterMissingException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
Exemplo n.º 10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public InvalidSessionException(ReliableHttpException exception) : base(exception)
 {
 }
Exemplo n.º 11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public InvalidJsonRequestException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
Exemplo n.º 12
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public InvalidSessionException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
Exemplo n.º 13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public NoDataAvailableException(ReliableHttpException exception) : base(exception)
 {
 }
Exemplo n.º 14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public NoDataAvailableException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
Exemplo n.º 15
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="ex"></param>
 public AggregateException(string message, ReliableHttpException ex)
     : base(message, ex)
 {
     _exceptions.Add(ex);
 }
Exemplo n.º 16
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public ParameterMissingException(ReliableHttpException exception) : base(exception)
 {
 }
Exemplo n.º 17
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ex"></param>
 public AggregateException(ReliableHttpException ex)
     : base(ex)
 {
     _exceptions.Add(ex);
 }
Exemplo n.º 18
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public InvalidParameterTypeException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }
Exemplo n.º 19
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="result"></param>
        /// <returns></returns>
        /// <exception cref="ObjectDisposedException"></exception>
        /// <exception cref="ReliableHttpException"></exception>
        /// <exception cref="ServerConnectionException"></exception>
        public override string EndRequest(ReliableAsyncResult result)
        {
            if (_disposed)
            {
                throw new ObjectDisposedException(GetType().FullName);
            }
            string responseText;

            try
            {
                responseText = base.EndRequest(result);
            }
            catch (ReliableHttpException ex)
            {
                ReliableHttpException ex2 = null;

                if (!string.IsNullOrEmpty(ex.ResponseText))
                {
                    try
                    {
                        ex2 = CreateApiException(ex.ResponseText);
                    }
                    catch
                    {
                        // swallow
                    }
                }

                if (ex2 != null)
                {
                    throw ex2;
                }

                throw;
            }
            catch (Exception ex)
            {
                throw ReliableHttpException.Create(ex);
            }

            if (responseText.Contains("\"HttpStatus\"") && responseText.Contains("\"ErrorMessage\"") && responseText.Contains("\"ErrorCode\""))
            {
                ReliableHttpException ex2 = CreateApiException(responseText);
                if (ex2 != null)
                {
                    throw ex2;
                }
            }

            // at this point, if we don't have json then it is an error

            try
            {
                Serializer.DeserializeObject <NullObject>(responseText);
            }
            catch
            {
                throw new ServerConnectionException("Invalid response received.  Are you connecting to the correct server Url?", responseText);
            }

            return(responseText);
        }
Exemplo n.º 20
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public InvalidParameterTypeException(ReliableHttpException exception) : base(exception)
 {
 }
Exemplo n.º 21
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="exception"></param>
 public InvalidCredentialsException(ReliableHttpException exception)
     : base(exception)
 {
 }
Exemplo n.º 22
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="message"></param>
 /// <param name="exception"></param>
 public ThrottlingException(string message, ReliableHttpException exception) : base(message, exception)
 {
 }