public ConsulFileConfigurationRepository(
            Cache.IOcelotCache <FileConfiguration> cache,
            IInternalConfigurationRepository repo,
            IConsulClientFactory factory,
            IOcelotLoggerFactory loggerFactory)
        {
            _logger = loggerFactory.CreateLogger <ConsulFileConfigurationRepository>();
            _cache  = cache;

            var internalConfig = repo.Get();

            _configurationKey = "InternalConfiguration";

            string token = null;

            if (!internalConfig.IsError)
            {
                token             = internalConfig.Data.ServiceProviderConfiguration.Token;
                _configurationKey = !string.IsNullOrEmpty(internalConfig.Data.ServiceProviderConfiguration.ConfigurationKey) ?
                                    internalConfig.Data.ServiceProviderConfiguration.ConfigurationKey : _configurationKey;
            }

            var config = new ConsulRegistryConfiguration(internalConfig.Data.ServiceProviderConfiguration.Host,
                                                         internalConfig.Data.ServiceProviderConfiguration.Port, _configurationKey, token);

            _consul = factory.Get(config);
        }
示例#2
0
        public ConsulFileConfigurationRepository(
            Cache.IOcelotCache <FileConfiguration> cache,
            IInternalConfigurationRepository repo,
            IConsulClientFactory factory,
            IOcelotLoggerFactory loggerFactory)
        {
            _logger = loggerFactory.CreateLogger <ConsulFileConfigurationRepository>();
            _cache  = cache;

            var internalConfig = repo.Get();

            var    consulHost = "localhost";
            var    consulPort = 8500;
            string token      = null;

            if (!internalConfig.IsError)
            {
                consulHost = string.IsNullOrEmpty(internalConfig.Data.ServiceProviderConfiguration?.Host) ? consulHost : internalConfig.Data.ServiceProviderConfiguration?.Host;
                consulPort = internalConfig.Data.ServiceProviderConfiguration?.Port ?? consulPort;
                token      = internalConfig.Data.ServiceProviderConfiguration?.Token;
            }

            var config = new ConsulRegistryConfiguration(consulHost, consulPort, OcelotConfiguration, token);

            _consul = factory.Get(config);
        }
        public ConsulServiceDiscoveryProvider(ConsulRegistryConfiguration config, IOcelotLoggerFactory factory, IConsulClientFactory clientFactory)
        {
            ;
            _logger = factory.CreateLogger <ConsulServiceDiscoveryProvider>();

            _config = config;
            _consul = clientFactory.Get(_config);
        }
示例#4
0
 public Consul(
     ConsulRegistryConfiguration config,
     IOcelotLoggerFactory factory,
     IConsulClientFactory clientFactory,
     RedisCache redisCache)
 {
     _redisCache = redisCache;
     _logger     = factory.CreateLogger <Consul>();
     _config     = config;
     _consul     = clientFactory.Get(_config);
 }
        public ConsulFileConfigurationRepository(
            Cache.IOcelotCache <FileConfiguration> cache,
            ServiceProviderConfiguration serviceProviderConfig,
            IConsulClientFactory factory)
        {
            var consulHost = string.IsNullOrEmpty(serviceProviderConfig?.Host) ? "localhost" : serviceProviderConfig?.Host;
            var consulPort = serviceProviderConfig?.Port ?? 8500;
            var config     = new ConsulRegistryConfiguration(consulHost, consulPort, OcelotConfiguration, serviceProviderConfig?.Token);

            _cache  = cache;
            _consul = factory.Get(config);
        }
        public ConsulServiceDiscoveryProvider(ConsulRegistryConfiguration config, IOcelotLoggerFactory factory, IConsulClientFactory clientFactory)
        {
            ;
            _logger = factory.CreateLogger <ConsulServiceDiscoveryProvider>();

            var consulHost = string.IsNullOrEmpty(config?.Host) ? "localhost" : config.Host;

            var consulPort = config?.Port ?? 8500;

            _config = new ConsulRegistryConfiguration(consulHost, consulPort, config?.KeyOfServiceInConsul, config?.Token);

            _consul = clientFactory.Get(_config);
        }
示例#7
0
        public ConsulFileConfigurationRepository(
            IOptions <FileConfiguration> fileConfiguration,
            Cache.IOcelotCache <FileConfiguration> cache,
            IConsulClientFactory factory,
            IOcelotLoggerFactory loggerFactory)
        {
            _logger = loggerFactory.CreateLogger <ConsulFileConfigurationRepository>();
            _cache  = cache;

            var serviceDiscoveryProvider = fileConfiguration.Value.GlobalConfiguration.ServiceDiscoveryProvider;

            _configurationKey = string.IsNullOrWhiteSpace(serviceDiscoveryProvider.ConfigurationKey) ? "InternalConfiguration" :
                                serviceDiscoveryProvider.ConfigurationKey;

            var config = new ConsulRegistryConfiguration(serviceDiscoveryProvider.Host,
                                                         serviceDiscoveryProvider.Port, _configurationKey, serviceDiscoveryProvider.Token);

            _consul = factory.Get(config);
        }
示例#8
0
 public DefaultServiceDiscoveryManage(IConsulClientFactory _consulClient, IOptions <ConsulClientOptions> option)
 {
     consulClient = _consulClient.Get(option?.Value);
 }
示例#9
0
 public DefaultServiceRegisterManage(IConsulClientFactory _consulClient, IOptions <ConsulClientOptions> option, IWebHostEnvironment _env)
 {
     consulClient = _consulClient.Get(option?.Value);
     env          = _env;
 }
示例#10
0
 public DefaultKVRepository(IConsulClientFactory consulClientFactory, IOptions <ConsulClientOptions> options)
 {
     consulClient = consulClientFactory.Get(options.Value);
 }