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);
        }
示例#3
0
        public GrpcChannelManager(IConsulClientFactory consulClientFactory,
                                  IGrpcChannelFactory grpcChannelFactory,
                                  IIocResolver iocResolver)
        {
            _consulClientFactory = consulClientFactory;
            _grpcChannelFactory  = grpcChannelFactory;
            _iocResolver         = iocResolver;

            GrpcServers = new Dictionary <string, Dictionary <string, Channel> >();
        }
示例#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);
        }
示例#6
0
        public ConsulConfigurationProvider(
            IConsulConfigurationSource source,
            IConsulClientFactory consulClientFactory)
        {
            if (source.Parser == null)
            {
                throw new ArgumentNullException(nameof(source.Parser));
            }

            _source = source;
            _consulClientFactory     = consulClientFactory;
            _cancellationTokenSource = new CancellationTokenSource();
        }
        public ConsulServiceDiscoveryProviderTests()
        {
            _serviceName = "test";
            _port        = 8500;
            _consulHost  = "localhost";
            _fakeConsulServiceDiscoveryUrl = $"http://{_consulHost}:{_port}";
            _serviceEntries = new List <ServiceEntry>();
            _factory        = new Mock <IOcelotLoggerFactory>();
            _clientFactory  = new ConsulClientFactory();
            _logger         = new Mock <IOcelotLogger>();
            _factory.Setup(x => x.CreateLogger <Consul>()).Returns(_logger.Object);
            _factory.Setup(x => x.CreateLogger <PollConsul>()).Returns(_logger.Object);
            var config = new ConsulRegistryConfiguration(_consulHost, _port, _serviceName, null);

            _provider = new Consul(config, _factory.Object, _clientFactory);
        }
示例#8
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);
        }
示例#9
0
 public DefaultKVRepository(IConsulClientFactory consulClientFactory, IOptions <ConsulClientOptions> options)
 {
     consulClient = consulClientFactory.Get(options.Value);
 }
 public ConsulConfigurationClient(IConsulClientFactory consulClientFactory)
 {
     _consulClientFactory = consulClientFactory;
 }
示例#11
0
 public ConsulConfigurationClient(IConsulClientFactory consulClientFactory, IConsulConfigurationSource source)
 {
     _consulClientFactory = consulClientFactory;
     _source = source;
 }
示例#12
0
 public ConsulServiceDiscoveryProvider(ConsulRegistryConfiguration config, IOcelotLoggerFactory factory, IConsulClientFactory clientFactory)
 {
     _logger = factory.CreateLogger <ConsulServiceDiscoveryProvider>();
     _config = config;
     _consul = clientFactory.Get(_config);
 }
示例#13
0
 public DefaultServiceRegisterManage(IConsulClientFactory _consulClient, IOptions <ConsulClientOptions> option, IWebHostEnvironment _env)
 {
     consulClient = _consulClient.Get(option?.Value);
     env          = _env;
 }
示例#14
0
        /// <summary>
        /// Initializes a new Consul client using a <see cref="IConsulClientFactory"/> to initialize the HttpClient and the Configuration
        /// </summary>
        /// <param name="clientFactory">Factoty to initialzie the configuration and the Http client</param>
        public ConsulClient(IConsulClientFactory clientFactory)
        {
            Config = clientFactory.CreateConsulConfiguration();

            HttpClient = clientFactory.CreateHttpClient();
        }
 public ServiceDiscoveryProviderFactory(IOcelotLoggerFactory factory, IConsulClientFactory consulFactory, IDiscoveryClient eurekaClient)
 {
     _factory       = factory;
     _consulFactory = consulFactory;
     _eurekaClient  = eurekaClient;
 }
        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);
        }
示例#17
0
 public ServiceProviderFactoryTests()
 {
     _loggerFactory = new Mock <IOcelotLoggerFactory>();
     _clientFactory = new ConsulClientFactory();
     _factory       = new ServiceDiscoveryProviderFactory(_loggerFactory.Object, _clientFactory);
 }
示例#18
0
 public ConsulDiscoveryService(IConsulClientFactory consulClientFactory)
 {
     ConsulClientFactory = consulClientFactory;
 }
 public ServiceDiscoveryProviderFactory(IOcelotLoggerFactory factory, IConsulClientFactory clientFactory)
 {
     _factory       = factory;
     _clientFactory = clientFactory;
 }
示例#20
0
 public DefaultServiceDiscoveryManage(IConsulClientFactory _consulClient, IOptions <ConsulClientOptions> option)
 {
     consulClient = _consulClient.Get(option?.Value);
 }