public HttpApiStatusEndpointDependency(
     IHttpClient httpClient,
     IHttpApiConfiguration httpApiConfiguration)
 {
     _httpClient           = httpClient;
     _httpApiConfiguration = httpApiConfiguration;
 }
        public DefaultHttpClient(IHttpApiConfiguration configuration)
        {
            if (configuration.Uri == null || !configuration.Uri.IsAbsoluteUri)
            {
                throw new ArgumentException("Uri is required and must be absolute");
            }

            _httpClient = new HttpClient
            {
                BaseAddress = configuration.Uri,
                Timeout     = TimeSpan.FromMilliseconds(configuration.TimeoutMs ?? DefaultTimeoutMs)
            };
        }
        public IHttpClient Decorate(
            IHttpClient httpClient,
            IHttpApiConfiguration httpApiConfiguration)
        {
            var httpApiWithTagging = httpApiConfiguration as IHttpApiWithTagging;

            if (httpApiWithTagging is null)
            {
                return(httpClient);
            }

            return(httpClient.AddTagging(_sessionIdAccessor, _correlationIdAccessor, _outboundRequestIdAccessor, _guidGenerator, _applicationInfo));
        }
Пример #4
0
        public IHttpClient Decorate(
            IHttpClient httpClient,
            IHttpApiConfiguration httpApiConfiguration)
        {
            var httpApiWithThrottling = httpApiConfiguration as IHttpApiWithThrottling;

            if (httpApiWithThrottling is null)
            {
                return(httpClient);
            }

            return(httpClient.AddThrottling(httpApiWithThrottling, _throttleManager));
        }
Пример #5
0
        public IHttpClient Decorate(
            IHttpClient httpClient,
            IHttpApiConfiguration httpApiConfiguration)
        {
            var httpApiWithCircuitBreaking = httpApiConfiguration as IHttpApiWithCircuitBreaking;

            if (httpApiWithCircuitBreaking is null)
            {
                return(httpClient);
            }

            return(httpClient.AddCircuitBreaking(httpApiWithCircuitBreaking, _circuitBreakerManager));
        }
Пример #6
0
        public IHttpClient Decorate(
            IHttpClient httpClient,
            IHttpApiConfiguration httpApiConfiguration)
        {
            var httpApiWithInstrumenting = httpApiConfiguration as IHttpApiWithInstrumenting;

            if (httpApiWithInstrumenting is null)
            {
                return(httpClient);
            }

            return(httpClient.AddInstrumenting(httpApiWithInstrumenting, _callbacks));
        }
        public IHttpClient Decorate(
            IHttpClient httpClient,
            IHttpApiConfiguration httpApiConfiguration)
        {
            var httpApiWithRetrying = httpApiConfiguration as IHttpApiWithRetrying;

            if (httpApiWithRetrying is null)
            {
                return(httpClient);
            }

            return(httpClient.AddRetrying(httpApiWithRetrying, _retryManager, _callbacks));
        }
 private static IHttpClient Create(IHttpApiConfiguration configuration)
 {
     return(new DefaultHttpClient(configuration));
 }