in src/main/java/org/opensearch/commons/rest/SecureRestClientBuilder.java [189:222]
private RestClientBuilder createRestClientBuilder() throws IOException {
RestClientBuilder builder = RestClient.builder(hosts.toArray(new HttpHost[hosts.size()]));
builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
@Override
public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
return requestConfigBuilder
.setConnectTimeout(defaultConnectTimeOutMSecs)
.setSocketTimeout(defaultSoTimeoutMSecs)
.setConnectionRequestTimeout(defaultConnRequestTimeoutMSecs);
}
});
final SSLContext sslContext;
try {
sslContext = createSSLContext();
} catch (GeneralSecurityException | IOException ex) {
throw new IOException(ex);
}
final CredentialsProvider credentialsProvider = createCredsProvider();
builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
if (sslContext != null) {
httpClientBuilder.setSSLContext(sslContext);
}
if (credentialsProvider != null) {
httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
}
return httpClientBuilder;
}
});
return builder;
}