/// <summary> /// Initializes a new instance of the <see cref="ServiceDiscoveryHttpClientHandler"/> class. /// </summary> public ServiceDiscoveryHttpClientHandler(IServiceDiscovery serviceDiscovery, IFeignClient feignClient, IGlobalFeignClientPipelineBuilder globalFeignClientPipeline, IDistributedCache distributedCache, ILogger logger) { _serviceResolve = new RandomServiceResolve(logger); _feignClient = feignClient; _globalFeignClientPipeline = globalFeignClientPipeline as GlobalFeignClientPipelineBuilder; _logger = logger; _serviceDiscovery = serviceDiscovery; _distributedCache = distributedCache; ShouldResolveService = true; }
/// <summary> /// Gets the specified service Pipeline /// </summary> /// <param name="globalFeignClientPipelineBuilder"></param> /// <param name="serviceId"></param> /// <returns></returns> public static IFeignClientPipelineBuilder Service(this IGlobalFeignClientPipelineBuilder globalFeignClientPipelineBuilder, string serviceId) { if (string.IsNullOrWhiteSpace(serviceId)) { throw new ArgumentException(nameof(serviceId)); } GlobalFeignClientPipelineBuilder pipelineBuilder = globalFeignClientPipelineBuilder as GlobalFeignClientPipelineBuilder; if (pipelineBuilder == null) { throw new NotSupportedException(); } return(pipelineBuilder.GetOrAddServicePipeline(serviceId)); }