Adds fn and stream to DefaultHandlerSupplier

This commit is contained in:
spencergibb
2025-03-28 17:12:18 -04:00
parent beab6a8a3e
commit 03dcf23e55
2 changed files with 21 additions and 12 deletions

View File

@@ -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<ServerResponse> handlerFunction) {
HandlerFilterFunction<ServerResponse, ServerResponse> setId = setIdFilter(id);

View File

@@ -55,12 +55,6 @@ public abstract class HandlerFunctions {
}
// for properties
public static HandlerFunction<ServerResponse> fn(RouteProperties routeProperties) {
// fn:fnName
return fn(routeProperties.getUri().getSchemeSpecificPart());
}
public static HandlerFunction<ServerResponse> 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<ServerResponse> stream(RouteProperties routeProperties) {
// stream:bindingName
return stream(routeProperties.getUri().getSchemeSpecificPart());
}
public static HandlerFunction<ServerResponse> stream(String bindingName) {
Assert.hasText(bindingName, "'bindingName' must not be empty");
// TODO: validate bindingName