public EtcdController(IDataProvider <string> dataProvider, EtcdClient etcdClient, IOptions <EtcdProviderOptions> etcdProviderOptions) { _dataProvider = dataProvider; _etcdClient = etcdClient; _etcdProviderOptions = etcdProviderOptions.Value; }
/// <summary> /// Constructor. /// </summary> /// <param name="logger">The <see cref="ILogger{EtcdDataProvider}"/> which will be used to log events by the provider.</param> /// <param name="dataSerializer">The <see cref="IDataProvider{T}"/> which will be used to serialize data from Etcd.</param> /// <param name="etcdProviderOptionsAccessor">The <see cref="IDataProviderOptions{T,TOptions}"/> which will be used to access options for the instance of the provider.</param> public EtcdDataProvider(ILogger <EtcdDataProvider <T> > logger, IDataSerializer <T> dataSerializer, IDataProviderOptions <T, EtcdProviderOptions> etcdProviderOptionsAccessor) { _logger = logger; _dataSerializer = dataSerializer; _etcdProviderOptions = etcdProviderOptionsAccessor.Value; _etcdClient = new EtcdClient(_etcdProviderOptions.ConnectionString, _etcdProviderOptions.Port, _etcdProviderOptions.Username, _etcdProviderOptions.Password, _etcdProviderOptions.CaCertificate, _etcdProviderOptions.ClientCertificate, _etcdProviderOptions.ClientKey, _etcdProviderOptions.IsPublicRootCa); if (!string.IsNullOrEmpty(_etcdProviderOptions.Username) && !string.IsNullOrEmpty(_etcdProviderOptions.Password)) { _metadata = new Metadata { { "Authorization", $"Basic {_etcdProviderOptions.Username}:{_etcdProviderOptions.Password}" } }; } }