public DynamicServerListLoadBalancer(string name, LoadBalancerOptions options) : this(name, options.Rule, options.Ping, options.ServerList, options.ServerListUpdater, options.ServerListFilter, options.Settings) { }
public DownstreamReRouteBuilder WithLoadBalancerOptions(LoadBalancerOptions loadBalancerOptions) { _loadBalancerOptions = loadBalancerOptions; return(this); }
private string CreateLoadBalancerKey(string downstreamTemplatePath, string httpMethod, LoadBalancerOptions loadBalancerOptions) { if (!string.IsNullOrEmpty(loadBalancerOptions.Type) && !string.IsNullOrEmpty(loadBalancerOptions.Key) && loadBalancerOptions.Type == nameof(CookieStickySessions)) { return($"{nameof(CookieStickySessions)}:{loadBalancerOptions.Key}"); } return(CreateQoSKey(downstreamTemplatePath, httpMethod)); }
private void ThenTheStickySessionLoadBalancerIsUsed(LoadBalancerOptions expected) { _result.Data.ReRoute.DownstreamReRoute[0].LoadBalancerKey.ShouldBe($"{nameof(CookieStickySessions)}:boom"); _result.Data.ReRoute.DownstreamReRoute[0].LoadBalancerOptions.Type.ShouldBe(nameof(CookieStickySessions)); _result.Data.ReRoute.DownstreamReRoute[0].LoadBalancerOptions.ShouldBe(expected); }