헤더값 추가
This commit is contained in:
+39
@@ -1,6 +1,8 @@
|
|||||||
package com.eactive.eai.custom.kjb.adapter.http.client.filter;
|
package com.eactive.eai.custom.kjb.adapter.http.client.filter;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
@@ -16,6 +18,7 @@ public class SimpleFrameworkFilter implements HttpClientAdapterFilter, HttpAdapt
|
|||||||
public static final String TRACEID = "traceId";
|
public static final String TRACEID = "traceId";
|
||||||
public static final String GUID = "guid";
|
public static final String GUID = "guid";
|
||||||
public static final String RECEIVEDTIMESTAMP = "receivedTimestamp";
|
public static final String RECEIVEDTIMESTAMP = "receivedTimestamp";
|
||||||
|
public static final String PARTNER_TRACE_ID = "partnerTraceId";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object doPreFilter(String adptGrpName, String adptName, Properties prop, Object message, Properties tempProp)
|
public Object doPreFilter(String adptGrpName, String adptName, Properties prop, Object message, Properties tempProp)
|
||||||
@@ -28,6 +31,9 @@ public class SimpleFrameworkFilter implements HttpClientAdapterFilter, HttpAdapt
|
|||||||
filterHeaders = new Properties();
|
filterHeaders = new Properties();
|
||||||
tempProp.put("FILTERHEADER", filterHeaders);
|
tempProp.put("FILTERHEADER", filterHeaders);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map<String, String> inboundHeaderMap = getInboundHeaderProp(tempProp);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
/* 업체정보 */
|
/* 업체정보 */
|
||||||
String clientId = tempProp.getProperty(HttpAdapterServiceSupport.PROPERTIES_NAME_CLIENT_ID);
|
String clientId = tempProp.getProperty(HttpAdapterServiceSupport.PROPERTIES_NAME_CLIENT_ID);
|
||||||
@@ -49,12 +55,45 @@ public class SimpleFrameworkFilter implements HttpClientAdapterFilter, HttpAdapt
|
|||||||
String receivedTimestamp = tempProp.getProperty(HttpAdapterServiceKey.INBOUND_REQUESTED_TIME, "");
|
String receivedTimestamp = tempProp.getProperty(HttpAdapterServiceKey.INBOUND_REQUESTED_TIME, "");
|
||||||
filterHeaders.put(RECEIVEDTIMESTAMP, receivedTimestamp);
|
filterHeaders.put(RECEIVEDTIMESTAMP, receivedTimestamp);
|
||||||
logger.debug("SimpleFrameworkFilter] Processing Key ["+RECEIVEDTIMESTAMP+"], value ["+receivedTimestamp+"]");
|
logger.debug("SimpleFrameworkFilter] Processing Key ["+RECEIVEDTIMESTAMP+"], value ["+receivedTimestamp+"]");
|
||||||
|
|
||||||
|
String partnerTraceId = inboundHeaderMap.getOrDefault(PARTNER_TRACE_ID, "");
|
||||||
|
filterHeaders.put(PARTNER_TRACE_ID, partnerTraceId);
|
||||||
|
logger.debug("SimpleFrameworkFilter] Processing Key ["+PARTNER_TRACE_ID+"], value ["+partnerTraceId+"]");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.getMessage());
|
logger.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<String, String> getInboundHeaderProp(Properties prop) {
|
||||||
|
Properties header = new Properties();
|
||||||
|
Map<String, String> inboundHeaderMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
|
||||||
|
try {
|
||||||
|
Object headerObj = prop.get(HttpAdapterServiceKey.INBOUND_HEADER);
|
||||||
|
if (headerObj instanceof Properties) { //tomcat
|
||||||
|
header = (Properties) headerObj;
|
||||||
|
for (String name : header.stringPropertyNames()) {
|
||||||
|
inboundHeaderMap.put(name, header.getProperty(name));
|
||||||
|
}
|
||||||
|
} else if (headerObj instanceof String) { //weblogic
|
||||||
|
String str = (String) headerObj;
|
||||||
|
str = str.substring(1, str.length() - 1);
|
||||||
|
// key=value 쌍 분리
|
||||||
|
String[] entries = str.split(",");
|
||||||
|
for (String entry : entries) {
|
||||||
|
String[] kv = entry.split("=", 2);
|
||||||
|
if (kv.length == 2) {
|
||||||
|
inboundHeaderMap.put(kv[0].trim(), kv[1].trim());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return inboundHeaderMap;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object doPostFilter(String adptGrpName, String adptName, Properties prop, Object message,
|
public Object doPostFilter(String adptGrpName, String adptName, Properties prop, Object message,
|
||||||
|
|||||||
Reference in New Issue
Block a user