in src/Cli/func/Kubernetes/KubernetesHelper.cs [386:425]
private static async Task<HttpResponseMessage> GetHttpResponse(HttpRequestMessage httpRequestMessage, int retryCount = 5)
{
HttpResponseMessage httpResponseMsg = new HttpResponseMessage();
if (httpRequestMessage == null)
{
return httpResponseMsg;
}
int currentRetry = 0;
using (var httpClient = new HttpClient(new HttpClientHandler()))
{
httpClient.Timeout = TimeSpan.FromSeconds(2);
while (currentRetry++ < retryCount)
{
try
{
httpResponseMsg = await httpClient.SendAsync(httpRequestMessage.Clone());
if (httpResponseMsg.IsSuccessStatusCode ||
(httpResponseMsg.StatusCode != System.Net.HttpStatusCode.BadGateway
&& httpResponseMsg.StatusCode != System.Net.HttpStatusCode.RequestTimeout
&& httpResponseMsg.StatusCode != System.Net.HttpStatusCode.GatewayTimeout
&& httpResponseMsg.StatusCode != System.Net.HttpStatusCode.NotFound))
{
return httpResponseMsg;
}
}
catch (Exception e)
{
if (StaticSettings.IsDebug)
{
ColoredConsole.Error.WriteLine(e);
}
}
await Task.Delay(new Random().Next(500, 2000));
}
}
return httpResponseMsg;
}