Beispiel #1
0
 /// <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;
        }