in gremlin-client/src/main/java/software/amazon/neptune/cluster/LBAwareHandshakeInterceptor.java [62:94]
public FullHttpRequest apply(FullHttpRequest request) {
logger.trace("iamAuthConfig: {}, serviceRegion: {}", iamAuthConfig, serviceRegion);
if (iamAuthConfig.enableIamAuth() || iamAuthConfig.connectViaLoadBalancer()) {
request.headers().remove("Host");
request.headers().remove("host");
request.headers().add("Host", iamAuthConfig.chooseHostHeader());
}
if (iamAuthConfig.enableIamAuth()) {
try {
NeptuneNettyHttpSigV4Signer signer = sigV4Signer != null ?
sigV4Signer :
new NeptuneNettyHttpSigV4Signer(
serviceRegion,
iamAuthConfig.credentialsProviderChain());
signer.signRequest(request);
if (iamAuthConfig.removeHostHeaderAfterSigning()) {
request.headers().remove("Host");
}
} catch (NeptuneSigV4SignerException e) {
throw new RuntimeException("Exception occurred while signing the request", e);
}
}
return request;
}