/// <summary>
        /// Throw request exception asynchronous.
        /// </summary>
        /// <exception cref="RequestException">
        /// Thrown when a Request error condition occurs.
        /// </exception>
        /// <returns>
        /// A <see cref="Task"/> representing the operation.
        /// </returns>
        internal async Task ThrowRequestExceptionAsync()
        {
            var details = await Splunk.Client.Message.ReadMessagesAsync(this.XmlReader).ConfigureAwait(false);

            RequestException requestException;

            switch (this.Message.StatusCode)
            {
            case HttpStatusCode.BadRequest:
                requestException = new BadRequestException(this.Message, details);
                break;

            case HttpStatusCode.Forbidden:
                requestException = new UnauthorizedAccessException(this.Message, details);
                break;

            case HttpStatusCode.InternalServerError:
                requestException = new InternalServerErrorException(this.Message, details);
                break;

            case HttpStatusCode.NotFound:
                requestException = new ResourceNotFoundException(this.Message, details);
                break;

            case HttpStatusCode.Unauthorized:
                requestException = new AuthenticationFailureException(this.Message, details);
                break;

            default:
                requestException = new RequestException(this.Message, details);
                break;
            }

            throw requestException;
        }
Beispiel #2
0
        /// <summary>
        /// Throw request exception asynchronous.
        /// </summary>
        /// <exception cref="RequestException">
        /// Thrown when a Request error condition occurs.
        /// </exception>
        /// <returns>
        /// A <see cref="Task"/> representing the operation.
        /// </returns>
        internal async Task ThrowRequestExceptionAsync()
        {
            var details = await Splunk.Client.Message.ReadMessagesAsync(this.XmlReader).ConfigureAwait(false);
            RequestException requestException;

            switch (this.Message.StatusCode)
            {
                case HttpStatusCode.BadRequest:
                    requestException = new BadRequestException(this.Message, details);
                    break;
                case HttpStatusCode.Forbidden:
                    requestException = new UnauthorizedAccessException(this.Message, details);
                    break;
                case HttpStatusCode.InternalServerError:
                    requestException = new InternalServerErrorException(this.Message, details);
                    break;
                case HttpStatusCode.NotFound:
                    requestException = new ResourceNotFoundException(this.Message, details);
                    break;
                case HttpStatusCode.Unauthorized:
                    requestException = new AuthenticationFailureException(this.Message, details);
                    break;
                default:
                    requestException = new RequestException(this.Message, details);
                    break;
            }

            throw requestException;
        }