in aws-xray-agent/src/main/java/com/amazonaws/xray/agent/runtime/handlers/upstream/ServletHandler.java [124:138]
private boolean addClientIPToTransactionState(HttpNetworkProtocolRequestEvent requestEvent, XRayTransactionState transactionState) {
String clientIP = requestEvent.getHeaderData(FORWARDED_FOR_KEY_UPPER);
boolean forwarded = true;
if (clientIP == null || clientIP.isEmpty()) {
clientIP = requestEvent.getHeaderData(FORWARDED_FOR_KEY_LOWER);
}
if (clientIP == null || clientIP.isEmpty()) {
clientIP = requestEvent.getRemoteIPAddress();
forwarded = false;
}
transactionState.withClientIP(clientIP);
return forwarded;
}