From 61b7023610f75f0692c43f55bb4f1054711bb0e6 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 2b6cc4ceb..80ea8077f 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 @@ -1135,6 +1135,12 @@ public class SimpleFunctionRegistry implements FunctionRegistry, FunctionInspect 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;