Beispiel #1
0
        protected virtual async Task <IRestResponse> SendAsync(IRestRequest request)
        {
            CheckDisposed();

            var requestMessage = request.CreateRequestMessage(BaseAddress);

            SetAuthentication(requestMessage);

            return(await RetryPolicy.ExecuteAsync(async() =>
            {
                // Clone request is required as HttpClient forbid resending the same request
                var requestClone = RetryPolicy.RetryCount > 0
                ? Clone(requestMessage)
                : requestMessage;

                var response = await Client
                               .SendAsync(requestClone)
                               .ConfigureAwait(false);

                return new RestResponse(response, Formatters);
            }));
        }