From fb65d18cd2beb3b4090de16eee55073b9896bcd5 Mon Sep 17 00:00:00 2001 From: cho Date: Fri, 23 Jan 2026 15:26:41 +0900 Subject: [PATCH] =?UTF-8?q?Relay=20=ED=97=A4=EB=8D=94=EA=B0=92=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=8D=BC=ED=8B=B0=20=EB=8F=99=EC=A0=81=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=A1=B0=EC=A0=95=20=EA=B0=80=EB=8A=A5=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/filter/AsyncReponseFilter.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java b/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java index df2a07c..5fe0988 100644 --- a/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java +++ b/src/main/java/com/eactive/eai/custom/kjb/adapter/http/client/filter/AsyncReponseFilter.java @@ -1,11 +1,15 @@ package com.eactive.eai.custom.kjb.adapter.http.client.filter; +import java.util.Arrays; import java.util.Map; import java.util.Properties; import java.util.TreeMap; +import org.apache.commons.lang3.StringUtils; + import com.eactive.eai.adapter.http.dynamic.HttpAdapterServiceKey; import com.eactive.eai.common.TransactionContextKeys; +import com.eactive.eai.common.property.PropManager; import com.eactive.eai.common.util.Logger; @@ -15,6 +19,9 @@ public class AsyncReponseFilter implements HttpClientAdapterFilter, HttpAdapterS public static final String X_TRACE_ID = "partnerTraceId"; public static final String TRACE_ID = "traceId"; + public static final String PROPERTIES_GROUP_NAME = "HttpHeaderFilter"; + public static final String HEADER_KEY_NAMES = "AsyncReponseFilter"; + @Override public Object doPreFilter(String adptGrpName, String adptName, Properties prop, Object message, Properties tempProp) @@ -28,6 +35,16 @@ public class AsyncReponseFilter implements HttpClientAdapterFilter, HttpAdapterS filterHeaders = new Properties(); tempProp.put("FILTERHEADER", filterHeaders); } + + String propValue = PropManager.getInstance().getProperty(PROPERTIES_GROUP_NAME, HEADER_KEY_NAMES, "").trim(); + + String[] headerKeyNames = propValue.split(","); + + + headerKeyNames = Arrays.stream(headerKeyNames) + .map(String::trim) + .toArray(String[]::new); + try { Map inboundHeaderMap = getInboundHeaderProp(tempProp); @@ -45,6 +62,16 @@ public class AsyncReponseFilter implements HttpClientAdapterFilter, HttpAdapterS filterHeaders.setProperty(TRACE_ID, traceId); logger.debug("AsyncReponseFilter] Processing Key ["+TRACE_ID+"], value ["+traceId+"]"); + + for (String keyName : inboundHeaderMap.keySet()) { + + if (StringUtils.equalsAnyIgnoreCase(keyName, headerKeyNames)) { + String value = inboundHeaderMap.get(keyName); + filterHeaders.put(keyName, value); + logger.debug("AsyncReponseFilter] Processing Key [" + keyName + "], value [" + value + "]"); + } + + } } catch (Exception e) { logger.error(e.getMessage());