diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/GatewayRequestPredicates.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/GatewayRequestPredicates.java index f1a12538..1e2e58c1 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/GatewayRequestPredicates.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/GatewayRequestPredicates.java @@ -19,7 +19,7 @@ package org.springframework.cloud.gateway.handler.predicate; import org.springframework.web.reactive.function.server.RequestPredicate; -import static org.springframework.cloud.gateway.handler.predicate.PathRequestPredicateFactory.PATTERN_KEY; +import static org.springframework.cloud.gateway.handler.predicate.RequestPredicateFactory.PATTERN_KEY; import static org.springframework.tuple.TupleBuilder.tuple; /** @@ -39,7 +39,9 @@ public class GatewayRequestPredicates { //TODO: add support for HeaderRequestPredicateFactory - //TODO: add support for HostRequestPredicateFactory + public static RequestPredicate host(String pattern) { + return new HostRequestPredicateFactory().apply(tuple().of(PATTERN_KEY, pattern)); + } //TODO: add support for MethodRequestPredicateFactory diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/HostRequestPredicateFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/HostRequestPredicateFactory.java index 49a3e16e..5c4ecf67 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/HostRequestPredicateFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/HostRequestPredicateFactory.java @@ -31,7 +31,6 @@ import org.springframework.web.reactive.function.server.RequestPredicates; */ public class HostRequestPredicateFactory implements RequestPredicateFactory { - public static final String PATTERN_KEY = "pattern"; private PathMatcher pathMatcher = new AntPathMatcher("."); public void setPathMatcher(PathMatcher pathMatcher) { diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRequestPredicateFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRequestPredicateFactory.java index e0226b48..eb181722 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRequestPredicateFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRequestPredicateFactory.java @@ -30,8 +30,6 @@ import java.util.List; */ public class PathRequestPredicateFactory implements RequestPredicateFactory { - public static final String PATTERN_KEY = "pattern"; - private PathPatternParser pathPatternParser; public void setPathPatternParser(PathPatternParser pathPatternParser) { diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/RequestPredicateFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/RequestPredicateFactory.java index bb360f7c..6eee918e 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/RequestPredicateFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/RequestPredicateFactory.java @@ -27,6 +27,7 @@ import org.springframework.web.reactive.function.server.RequestPredicate; */ @FunctionalInterface public interface RequestPredicateFactory extends ArgumentHints { + String PATTERN_KEY = "pattern"; RequestPredicate apply(Tuple args);