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 12b3ab43d..3cdd31434 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 @@ -1128,6 +1128,12 @@ public class SimpleFunctionRegistry implements FunctionRegistry { if (!(output instanceof Publisher) && this.enhancer != null) { output = enhancer.apply(output); } + if (this.getTarget() instanceof PassThruFunction) { // scst-2303 + Map headersMap = (Map) ReflectionUtils + .getField(SimpleFunctionRegistry.this.headersField, ((Message) output).getHeaders()); + headersMap.put(MessageHeaders.CONTENT_TYPE, contentType[0]); + return messageConverter.toMessage(((Message) output).getPayload(), ((Message) output).getHeaders()); + } if (ObjectUtils.isEmpty(contentType) && !(output instanceof Publisher)) { return output;