Remove RouteFilter.getName(), rely on bean name.
Will still remove RouteFilter if that is the suffix.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package org.springframework.cloud.gateway.config;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.boot.actuate.endpoint.Endpoint;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
@@ -71,7 +72,7 @@ public class GatewayAutoConfiguration {
|
||||
@Bean
|
||||
public GatewayFilteringWebHandler gatewayFilteringWebHandler(GatewayWebHandler gatewayWebHandler,
|
||||
List<GatewayFilter> filters,
|
||||
List<RouteFilter> filterDefinitions) {
|
||||
Map<String, RouteFilter> filterDefinitions) {
|
||||
return new GatewayFilteringWebHandler(gatewayWebHandler, filters, filterDefinitions);
|
||||
}
|
||||
|
||||
@@ -116,42 +117,42 @@ public class GatewayAutoConfiguration {
|
||||
|
||||
// Filter Factory beans
|
||||
|
||||
@Bean
|
||||
@Bean(name = "AddRequestHeaderRouteFilter")
|
||||
public AddRequestHeaderRouteFilter addRequestHeaderRouteFilter() {
|
||||
return new AddRequestHeaderRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "AddResponseHeaderRouteFilter")
|
||||
public AddResponseHeaderRouteFilter addResponseHeaderRouteFilter() {
|
||||
return new AddResponseHeaderRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "RemoveRequestHeaderRouteFilter")
|
||||
public RemoveRequestHeaderRouteFilter removeRequestHeaderRouteFilter() {
|
||||
return new RemoveRequestHeaderRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "RemoveResponseHeaderRouteFilter")
|
||||
public RemoveResponseHeaderRouteFilter removeResponseHeaderRouteFilter() {
|
||||
return new RemoveResponseHeaderRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "RewritePathRouteFilter")
|
||||
public RewritePathRouteFilter rewritePathRouteFilter() {
|
||||
return new RewritePathRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "SetPathRouteFilter")
|
||||
public SetPathRouteFilter setPathRouteFilter() {
|
||||
return new SetPathRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "SetResponseHeaderRouteFilter")
|
||||
public SetResponseHeaderRouteFilter setResponseHeaderRouteFilter() {
|
||||
return new SetResponseHeaderRouteFilter();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Bean(name = "SetStatusRouteFilter")
|
||||
public SetStatusRouteFilter setStatusRouteFilter() {
|
||||
return new SetStatusRouteFilter();
|
||||
}
|
||||
|
||||
@@ -8,10 +8,6 @@ import org.springframework.web.server.WebFilter;
|
||||
*/
|
||||
public interface RouteFilter {
|
||||
|
||||
default String getName() {
|
||||
return getClass().getSimpleName().replace(RouteFilter.class.getSimpleName(), "");
|
||||
}
|
||||
|
||||
WebFilter apply(String value, String[] args);
|
||||
|
||||
default void validate(String[] args, int requiredSize) {
|
||||
|
||||
@@ -58,10 +58,14 @@ public class GatewayFilteringWebHandler extends WebHandlerDecorator {
|
||||
private final Map<String, RouteFilter> filterDefinitions = new HashMap<>();
|
||||
|
||||
public GatewayFilteringWebHandler(WebHandler targetHandler, List<GatewayFilter> filters,
|
||||
List<RouteFilter> filterDefinitions) {
|
||||
Map<String, RouteFilter> filterDefinitions) {
|
||||
super(targetHandler);
|
||||
this.filters = initList(filters);
|
||||
initList(filterDefinitions).forEach(def -> this.filterDefinitions.put(def.getName(), def));
|
||||
filterDefinitions.forEach((name, def) -> this.filterDefinitions.put(nornamlizeName(name), def));
|
||||
}
|
||||
|
||||
private String nornamlizeName(String name) {
|
||||
return name.replace(RouteFilter.class.getSimpleName(), "");
|
||||
}
|
||||
|
||||
private static <T> List<T> initList(List<T> list) {
|
||||
|
||||
Reference in New Issue
Block a user