From 2ce45726abc67ef2db618a836cbb4cbdab4bc7ad Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Tue, 22 Mar 2022 13:53:48 +0100 Subject: [PATCH] Performance improvements related to SCST-2303 --- .../function/context/catalog/SimpleFunctionRegistry.java | 6 ++++++ 1 file changed, 6 insertions(+) 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;