Amido.Testing.Http.RestClient.MakeRequest C# (CSharp) Method

MakeRequest() public method

public MakeRequest ( ) : HttpResponseMessage
return HttpResponseMessage
        public virtual HttpResponseMessage MakeRequest()
        {
            HttpResponseMessage httpResponseMessage = null;
            
            for(var currentRetryIndex = 0; currentRetryIndex < MaxRetries; currentRetryIndex++)
            {
                var httpRequestMessage = httpRequestMessageList[currentRetryIndex];

                httpRequestMessage.RequestUri = new Uri(url);

                if (!string.IsNullOrWhiteSpace(contentTypeString))
                {
                    if (contentTypeString == "application/x-www-form-urlencoded")
                    {
                        httpRequestMessage.Content = new FormUrlEncodedContent(formParameters);
                    }

                    if (httpRequestMessage.Content != null)
                    {
                        httpRequestMessage.Content.Headers.ContentType = new MediaTypeHeaderValue(contentTypeString);
                    }
                }

                WriteRequestToDebugWindow(currentRetryIndex, MaxRetries, httpRequestMessage);

                using (var httpClient = new HttpClient())
                {
                    httpResponseMessage = httpClient.SendAsync(httpRequestMessage).Result;
                }

                WriteResponseToDebugWindow(currentRetryIndex, MaxRetries, httpResponseMessage);

                if(IsFinalRetryRequest(currentRetryIndex))
                {
                    return httpResponseMessage;
                }

                if (IsRetryConditionSatisfied(httpResponseMessage, RetryType, RetryParameter))
                {
                    return httpResponseMessage;
                }

                Thread.Sleep(Interval);
            }

            return httpResponseMessage;
        }