diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcClientTemplate.java b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcClientTemplate.java new file mode 100644 index 000000000..7699218d2 --- /dev/null +++ b/spring-cloud-function-adapters/spring-cloud-function-grpc/src/main/java/org/springframework/cloud/function/grpc/GrpcClientTemplate.java @@ -0,0 +1,5 @@ +package org.springframework.cloud.function.grpc; + +public class GrpcClientTemplate { + +} diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java index 87694f80d..5cc22cf1c 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/FunctionAroundWrapper.java @@ -37,13 +37,20 @@ public abstract class FunctionAroundWrapper implements BiFunction) input, targetFunction); + result = this.doApply((Message) input, targetFunction); } else if (targetFunction.isSupplier() && !targetFunction.isOutputTypePublisher()) { - return this.doApply(null, targetFunction); + result = this.doApply(null, targetFunction); } - return targetFunction.apply(input); + else { + result = targetFunction.apply(input); + } + targetFunction.setSkipOutputConversion(isSkipOutputConversion); + return result; } protected abstract Object doApply(Message input, FunctionInvocationWrapper targetFunction); diff --git a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java index 342c2bdde..7b8f4ed13 100644 --- a/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java +++ b/spring-cloud-function-context/src/main/java/org/springframework/cloud/function/context/catalog/SimpleFunctionRegistry.java @@ -390,6 +390,7 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect private Function enhancer; FunctionInvocationWrapper(FunctionInvocationWrapper function) { + this.expectedOutputContentType = function.expectedOutputContentType; this.skipOutputConversion = function.skipOutputConversion; this.skipInputConversion = function.skipInputConversion; this.target = function.target; @@ -407,6 +408,11 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect this.message = this.inputType != null && FunctionTypeUtils.isMessage(this.inputType); } + public boolean isSkipOutputConversion() { + return skipOutputConversion; + } + + public boolean isPrototype() { return this.isPrototype(); } diff --git a/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml b/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml index 3977a7ca5..a96818ab4 100644 --- a/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml +++ b/spring-cloud-function-samples/function-sample-kotlin-web/pom.xml @@ -66,7 +66,6 @@ maven-deploy-plugin - 2.8.2 true