in emr-dynamodb-hadoop/src/main/java/org/apache/hadoop/dynamodb/DynamoDBClient.java [362:387]
void applyProxyConfiguration(ClientConfiguration clientConfig, Configuration conf) {
final String proxyHost = conf.get(DynamoDBConstants.PROXY_HOST);
final int proxyPort = conf.getInt(DynamoDBConstants.PROXY_PORT, 0);
final String proxyUsername = conf.get(DynamoDBConstants.PROXY_USERNAME);
final String proxyPassword = conf.get(DynamoDBConstants.PROXY_PASSWORD);
boolean proxyHostAndPortPresent = false;
if (!Strings.isNullOrEmpty(proxyHost) && proxyPort > 0) {
clientConfig.setProxyHost(proxyHost);
clientConfig.setProxyPort(proxyPort);
proxyHostAndPortPresent = true;
} else if (Strings.isNullOrEmpty(proxyHost) ^ proxyPort <= 0) {
throw new RuntimeException("Only one of proxy host and port are set, when both are required");
}
if (!Strings.isNullOrEmpty(proxyUsername) && !Strings.isNullOrEmpty(proxyPassword)) {
if (!proxyHostAndPortPresent) {
throw new RuntimeException("Proxy host and port must be supplied if proxy username and "
+ "password are present");
} else {
clientConfig.setProxyUsername(proxyUsername);
clientConfig.setProxyPassword(proxyPassword);
}
} else if (Strings.isNullOrEmpty(proxyUsername) ^ Strings.isNullOrEmpty(proxyPassword)) {
throw new RuntimeException("Only one of proxy username and password are set, when both are "
+ "required");
}
}