mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-06-19 08:08:14 +08:00
moving load balancer creation into its own class
This commit is contained in:
@ -27,7 +27,7 @@ namespace Ocelot.DownstreamRouteFinder.Finder
|
||||
{
|
||||
upstreamUrlPath = upstreamUrlPath.SetLastCharacterAs('/');
|
||||
|
||||
var configuration = await _configProvider.Get();
|
||||
var configuration = await _configProvider.Get();
|
||||
|
||||
var applicableReRoutes = configuration.Data.ReRoutes.Where(r => r.UpstreamHttpMethod.Count == 0 || r.UpstreamHttpMethod.Select(x => x.Method.ToLower()).Contains(upstreamHttpMethod.ToLower()));
|
||||
|
||||
|
24
src/Ocelot/LoadBalancer/LoadBalancerCreator.cs
Normal file
24
src/Ocelot/LoadBalancer/LoadBalancerCreator.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System.Threading.Tasks;
|
||||
using Ocelot.Configuration;
|
||||
using Ocelot.LoadBalancer.LoadBalancers;
|
||||
|
||||
namespace Ocelot.LoadBalancer
|
||||
{
|
||||
public class LoadBalancerCreator
|
||||
{
|
||||
private readonly ILoadBalancerHouse _loadBalancerHouse;
|
||||
private readonly ILoadBalancerFactory _loadBalanceFactory;
|
||||
|
||||
public LoadBalancerCreator(ILoadBalancerHouse loadBalancerHouse, ILoadBalancerFactory loadBalancerFactory)
|
||||
{
|
||||
_loadBalancerHouse = loadBalancerHouse;
|
||||
_loadBalanceFactory = loadBalancerFactory;
|
||||
}
|
||||
|
||||
public async Task SetupLoadBalancer(ReRoute reRoute)
|
||||
{
|
||||
var loadBalancer = await _loadBalanceFactory.Get(reRoute);
|
||||
_loadBalancerHouse.Add(reRoute.ReRouteKey, loadBalancer);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user