public void ConfigureOptions(string name, HttpClientOptions options) { Defaults.Configure(name, options); if (Clients.TryGetValue(name, out var serviceConfig)) { serviceConfig.Configure(name, options); } }
public void Configure(string name, HttpClientOptions options) { options.ServiceName = ServiceName ?? name; options.Connection = Connection ?? options.Connection; options.Timeout = Timeout ?? options.Timeout; options.Handler = Handler ?? options.Handler; options.Polly = Polly ?? options.Polly; options.Telemetry = Telemetry ?? options.Telemetry; }
public void AddClient(string name, Action <HttpClientOptions>?configure = null) { if (!Clients.TryGetValue(name, out var config)) { Clients[name] = new HttpClientOptions() { ServiceName = name }; } configure?.Invoke(Clients[name]); }
public static IHttpClientBuilder AddHttpClientOptions( this IServiceCollection serviceCollection, Action <HttpClientOptions> configure) { var options = new HttpClientOptions(); configure?.Invoke(options); serviceCollection .AddHttpClientOptions() .AddOptions <HttpClientOptions>(options.ServiceName) .Configure(configure); return(serviceCollection .AddHttpClient(options.ServiceName)); }
public void Configure(HttpClientOptions options) { Configure(options.ServiceName, options); }