public FluentMiddlewareHttpHandler( IFluentHttpMiddlewareRunner middlewareRunner, FluentHttpClient httpClient, RequestTracker requestTracker, HttpMessageHandler messageHandler = null ) : base(messageHandler ?? new HttpClientHandler()) { _middlewareRunner = middlewareRunner; _httpClient = httpClient; _requestTracker = requestTracker; }
/// <summary> /// Initializes an instance of <see cref="FluentHttpClient"/>. /// </summary> /// <param name="options"></param> /// <param name="serviceProvider"></param> /// <param name="middlewareRunner"></param> public FluentHttpClient(FluentHttpClientOptions options, IServiceProvider serviceProvider, IFluentHttpMiddlewareRunner middlewareRunner) { _serviceProvider = serviceProvider; _middlewareRunner = middlewareRunner; _middleware = options.Middleware; _requestBuilderDefaults = options.RequestBuilderDefaults; Identifier = options.Identifier; BaseUrl = options.BaseUrl; Formatters = options.Formatters; DefaultFormatter = options.DefaultFormatter; RawHttpClient = Configure(options); Headers = RawHttpClient.DefaultRequestHeaders; }
/// <summary> /// Initializes an instance of <see cref="FluentHttpClient"/>. /// </summary> /// <param name="options"></param> /// <param name="clientFactory"></param> /// <param name="serviceProvider"></param> public FluentHttpClient( FluentHttpClientOptions options, IFluentHttpClientFactory clientFactory, IServiceProvider serviceProvider ) { _options = options; _clientFactory = clientFactory; _serviceProvider = serviceProvider; _requestBuilderDefaults = options.RequestBuilderDefaults; _middlewareBuilder = options.MiddlewareBuilder; _requestTracker = new RequestTracker(); Identifier = options.Identifier; BaseUrl = options.BaseUrl; Formatters = options.Formatters; DefaultFormatter = options.DefaultFormatter; _middlewareRunner = options.MiddlewareBuilder.Build(this); RawHttpClient = Configure(options); Headers = RawHttpClient.DefaultRequestHeaders; }