public static RestClientBuilder configureRestClientBuilder()

in flink-connector-elasticsearch-base/src/main/java/org/apache/flink/connector/elasticsearch/utils/RestClientUtils.java [13:65]


    public static RestClientBuilder configureRestClientBuilder(
            RestClientBuilder builder, NetworkClientConfig networkClientConfig) {
        if (networkClientConfig.getConnectionPathPrefix() != null) {
            builder.setPathPrefix(networkClientConfig.getConnectionPathPrefix());
        }

        final CredentialsProvider credentialsProvider = getCredentialsProvider(networkClientConfig);
        if (credentialsProvider != null
                || networkClientConfig.getSSLContextSupplier() != null
                || networkClientConfig.getSslHostnameVerifier() != null) {
            builder.setHttpClientConfigCallback(
                    httpClientBuilder -> {
                        if (credentialsProvider != null) {
                            httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                        }

                        if (networkClientConfig.getSSLContextSupplier() != null) {
                            // client creates SSL context using the configured supplier
                            httpClientBuilder.setSSLContext(
                                    networkClientConfig.getSSLContextSupplier().get());
                        }

                        if (networkClientConfig.getSslHostnameVerifier() != null) {
                            httpClientBuilder.setSSLHostnameVerifier(
                                    networkClientConfig.getSslHostnameVerifier().get());
                        }

                        return httpClientBuilder;
                    });
        }

        if (networkClientConfig.getConnectionRequestTimeout() != null
                || networkClientConfig.getConnectionTimeout() != null
                || networkClientConfig.getSocketTimeout() != null) {
            builder.setRequestConfigCallback(
                    requestConfigBuilder -> {
                        if (networkClientConfig.getConnectionRequestTimeout() != null) {
                            requestConfigBuilder.setConnectionRequestTimeout(
                                    networkClientConfig.getConnectionRequestTimeout());
                        }
                        if (networkClientConfig.getConnectionTimeout() != null) {
                            requestConfigBuilder.setConnectTimeout(
                                    networkClientConfig.getConnectionTimeout());
                        }
                        if (networkClientConfig.getSocketTimeout() != null) {
                            requestConfigBuilder.setSocketTimeout(
                                    networkClientConfig.getSocketTimeout());
                        }
                        return requestConfigBuilder;
                    });
        }
        return builder;
    }