public static IConfigurationBuilder AddEtcd( this IConfigurationBuilder configurationBuilder, IEtcdClient client, Action <EtcdOptions>?configureOptions = null) { var options = new EtcdOptions(); configureOptions?.Invoke(options); return(configurationBuilder.Add(new EtcdConfigurationSource(options, client))); }
public EtcdConfigurationProvider(EtcdOptions options, IEtcdClient client) { this.options = options; this.client = client; if (options.Refreshers.Any()) { // Register refreshers foreach (var refresher in options.Refreshers) { refresherRegistrations.Add(ChangeToken.OnChange( () => refresher.ProduceChangeToken(client), () => Data.Clear())); } } }