Esempio n. 1
0
        public static DisposableHttpClient CreateClientWithRetrying(this StubHttpApi api, IHttpClientEventCallback callback, int retries, int delayMs, int timeoutMs = 3000)
        {
            var retryManager = new StubRetryManager {
                Delay = new StubRetryDelay(delayMs), Predicate = new StubRetryPredicate(retries)
            };

            var configuration = new RetryingConfiguration {
                Uri = api.BaseUri, TimeoutMs = timeoutMs, RetryPolicy = "default"
            };
            var httpClient = new DefaultHttpClient(configuration);

            return(new DisposableHttpClient(httpClient, httpClient.AddRetrying(configuration, retryManager, new [] { callback })));
        }