Moves enabled filter out of GatewayProperties
Since GatewayProperties is just a holder, I moved the business logic of filtering to PropertiesRouteDefinitionLocator See gh-3026
This commit is contained in:
@@ -69,7 +69,7 @@ public class GatewayProperties {
|
||||
private boolean failOnRouteDefinitionError = true;
|
||||
|
||||
public List<RouteDefinition> getRoutes() {
|
||||
return routes.stream().filter(RouteDefinition::isEnabled).toList();
|
||||
return routes;
|
||||
}
|
||||
|
||||
public void setRoutes(List<RouteDefinition> routes) {
|
||||
|
||||
@@ -34,7 +34,7 @@ public class PropertiesRouteDefinitionLocator implements RouteDefinitionLocator
|
||||
|
||||
@Override
|
||||
public Flux<RouteDefinition> getRouteDefinitions() {
|
||||
return Flux.fromIterable(this.properties.getRoutes());
|
||||
return Flux.fromIterable(this.properties.getRoutes()).filter(RouteDefinition::isEnabled);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -39,7 +39,6 @@ import org.springframework.cloud.gateway.filter.headers.ForwardedHeadersFilter;
|
||||
import org.springframework.cloud.gateway.filter.headers.XForwardedHeadersFilter;
|
||||
import org.springframework.cloud.gateway.handler.RoutePredicateHandlerMapping;
|
||||
import org.springframework.cloud.gateway.route.CachingRouteLocator;
|
||||
import org.springframework.cloud.gateway.route.Route;
|
||||
import org.springframework.cloud.gateway.route.RouteDefinition;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
@@ -84,12 +83,15 @@ class GatewayIntegrationTests extends BaseWebClientTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
void checkDisabledFilterNotPresent() {
|
||||
Optional<RouteDefinition> disabledRoute = properties.getRoutes().stream()
|
||||
.filter(r -> "disabled_config_test".equals(r.getId()))
|
||||
.findFirst();
|
||||
assertThat(disabledRoute).as("Disabled route is not present")
|
||||
.isEmpty();
|
||||
void checkFilterIsDisabled() {
|
||||
Optional<RouteDefinition> disabledRoute = properties.getRoutes()
|
||||
.stream()
|
||||
.filter(r -> "disabled_config_test".equals(r.getId()))
|
||||
.findFirst();
|
||||
assertThat(disabledRoute).as("Disabled route is present")
|
||||
.isPresent()
|
||||
.get()
|
||||
.hasFieldOrPropertyWithValue("enabled", false);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user