public static IHttpClientBuilder AddRetryPolicyHandler(this IHttpClientBuilder httpClientBuilder, ILogger logger, IRetryPolicyConfig retryPolicyConfig) { return(httpClientBuilder.AddPolicyHandler(HttpRetryPolicies.GetHttpRetryPolicy(logger, retryPolicyConfig))); }
public static RetryPolicy <HttpResponseMessage> GetHttpRetryPolicy(ILogger logger, IRetryPolicyConfig retryPolicyConfig) { return(HttpPolicyBuilders.GetDefaultBuilder() .WaitAndRetryAsync(retryPolicyConfig.RetryCount, ComputeDuration, (result, timeSpan, retryCount, context) => { OnHttpRetry(result, timeSpan, retryCount, context, logger); })); }
public static AsyncRetryPolicy <HttpResponseMessage> GetHttpRetryPolicy(ILogger logger, IRetryPolicyConfig retryPolicyConfig) { return(HttpPolicyExtensions.HandleTransientHttpError() .WaitAndRetryAsync(retryPolicyConfig.RetryCount, ComputeDuration, (result, timeSpan, retryCount, context) => { OnHttpRetry(result, timeSpan, retryCount, context, logger); })); }