/// <summary> /// Initializes a new instance. /// </summary> public FluentHttpClientBuilder( IServiceProvider serviceProvider, IFluentHttpClientFactory fluentHttpClientFactory, FluentHttpMiddlewareBuilder middlewareBuilder ) { _serviceProvider = serviceProvider; _fluentHttpClientFactory = fluentHttpClientFactory; _middlewareBuilder = middlewareBuilder; }
/// <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; }