diff --git a/src/ReverseProxy/LoadBalancing/RoundRobinLoadBalancingPolicy.cs b/src/ReverseProxy/LoadBalancing/RoundRobinLoadBalancingPolicy.cs
index 9c95b56b9..2abd5b73c 100644
--- a/src/ReverseProxy/LoadBalancing/RoundRobinLoadBalancingPolicy.cs
+++ b/src/ReverseProxy/LoadBalancing/RoundRobinLoadBalancingPolicy.cs
@@ -22,7 +22,7 @@ internal sealed class RoundRobinLoadBalancingPolicy : ILoadBalancingPolicy
return null;
}
- var counter = _counters.GetOrCreateValue(context.GetClusterState());
+ var counter = _counters.GetOrCreateValue(cluster);
// Increment returns the new value and we want the first return value to be 0.
var offset = counter.Increment() - 1;
diff --git a/src/ReverseProxy/Model/HttpContextFeaturesExtensions.cs b/src/ReverseProxy/Model/HttpContextFeaturesExtensions.cs
index 8499ae131..46981053a 100644
--- a/src/ReverseProxy/Model/HttpContextFeaturesExtensions.cs
+++ b/src/ReverseProxy/Model/HttpContextFeaturesExtensions.cs
@@ -12,16 +12,6 @@ namespace Microsoft.AspNetCore.Http
///
public static class HttpContextFeaturesExtensions
{
- ///
- /// Retrieves the instance associated with the current request.
- ///
- public static ClusterState GetClusterState(this HttpContext context)
- {
- var route = context.GetRouteModel();
- var cluster = route.Cluster ?? throw new InvalidOperationException($"The {typeof(RouteModel).FullName} is missing the {typeof(ClusterState).FullName}.");
- return cluster;
- }
-
///
/// Retrieves the instance associated with the current request.
///
diff --git a/test/ReverseProxy.Tests/LoadBalancing/LoadBalancingPoliciesTests.cs b/test/ReverseProxy.Tests/LoadBalancing/LoadBalancingPoliciesTests.cs
index ee16184e1..f37e1d0f2 100644
--- a/test/ReverseProxy.Tests/LoadBalancing/LoadBalancingPoliciesTests.cs
+++ b/test/ReverseProxy.Tests/LoadBalancing/LoadBalancingPoliciesTests.cs
@@ -135,7 +135,8 @@ public void PickDestination_RoundRobin_Works()
var context = new DefaultHttpContext();
- var routeConfig = new RouteModel(new RouteConfig(), new ClusterState("cluster1"), HttpTransformer.Default);
+ var cluster = new ClusterState("cluster1");
+ var routeConfig = new RouteModel(new RouteConfig(), cluster, HttpTransformer.Default);
var feature = new ReverseProxyFeature()
{
Route = routeConfig,
@@ -146,7 +147,7 @@ public void PickDestination_RoundRobin_Works()
for (var i = 0; i < 10; i++)
{
- var result = loadBalancer.PickDestination(context, cluster: null, availableDestinations: destinations);
+ var result = loadBalancer.PickDestination(context, cluster, availableDestinations: destinations);
Assert.Same(destinations[i % destinations.Length], result);
result.ConcurrentRequestCount++;
}