diff --git a/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/DefaultHandlerSupplier.java b/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/DefaultHandlerSupplier.java index 91304f9f..0adc142e 100644 --- a/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/DefaultHandlerSupplier.java +++ b/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/DefaultHandlerSupplier.java @@ -35,6 +35,16 @@ class DefaultHandlerSupplier implements HandlerSupplier { return Arrays.asList(getClass().getMethods()); } + public static HandlerDiscoverer.Result fn(RouteProperties routeProperties) { + // fn:fnName + return fn(routeProperties.getUri().getSchemeSpecificPart()); + } + + public static HandlerDiscoverer.Result fn(String functionName) { + return new HandlerDiscoverer.Result(HandlerFunctions.fn(functionName), Collections.emptyList(), + Collections.emptyList()); + } + public static HandlerDiscoverer.Result forward(RouteProperties routeProperties) { return forward(routeProperties.getId(), routeProperties.getUri()); } @@ -68,6 +78,17 @@ class DefaultHandlerSupplier implements HandlerSupplier { return getResult(id, uri, HandlerFunctions.no()); } + // for properties + public static HandlerDiscoverer.Result stream(RouteProperties routeProperties) { + // stream:bindingName + return stream(routeProperties.getUri().getSchemeSpecificPart()); + } + + public static HandlerDiscoverer.Result stream(String bindingName) { + return new HandlerDiscoverer.Result(HandlerFunctions.stream(bindingName), Collections.emptyList(), + Collections.emptyList()); + } + private static HandlerDiscoverer.Result getResult(String id, URI uri, HandlerFunction handlerFunction) { HandlerFilterFunction setId = setIdFilter(id); diff --git a/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/HandlerFunctions.java b/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/HandlerFunctions.java index 5963e0f4..14ea609c 100644 --- a/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/HandlerFunctions.java +++ b/spring-cloud-gateway-server-mvc/src/main/java/org/springframework/cloud/gateway/server/mvc/handler/HandlerFunctions.java @@ -55,12 +55,6 @@ public abstract class HandlerFunctions { } - // for properties - public static HandlerFunction fn(RouteProperties routeProperties) { - // fn:fnName - return fn(routeProperties.getUri().getSchemeSpecificPart()); - } - public static HandlerFunction fn(String functionName) { Assert.hasText(functionName, "'functionName' must not be empty"); return request -> { @@ -107,12 +101,6 @@ public abstract class HandlerFunctions { }; } - // for properties - public static HandlerFunction stream(RouteProperties routeProperties) { - // stream:bindingName - return stream(routeProperties.getUri().getSchemeSpecificPart()); - } - public static HandlerFunction stream(String bindingName) { Assert.hasText(bindingName, "'bindingName' must not be empty"); // TODO: validate bindingName