public static void initHttpClient()

in src/main/java/org/apache/pulsar/manager/utils/HttpUtil.java [90:131]


    public static void initHttpClient() {
        try {
            if (tlsEnabled) {
                Resource resource = new FileSystemResource(tlsKeystore);
                File trustStoreFile = resource.getFile();
                HostnameVerifier hostnameVerifier = (s, sslSession) -> {
                    // Custom logic to verify host name, tlsHostnameVerifier is false for test
                    if (!tlsHostnameVerifier) {
                        return true;
                    } else {
                        HostnameVerifier hv= HttpsURLConnection.getDefaultHostnameVerifier();
                        return hv.verify(s, sslSession);
                    }
                };

                SSLContext sslcontext = SSLContexts.custom()
                        .loadTrustMaterial(
                                trustStoreFile,
                                tlsKeystorePassword.toCharArray(),
                                new TrustSelfSignedStrategy())
                        .build();

                SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, hostnameVerifier);
                cm = new PoolingHttpClientConnectionManager(RegistryBuilder.<ConnectionSocketFactory>create()
                        .register("http", PlainConnectionSocketFactory.getSocketFactory())
                        .register("https", sslsf)
                        .build());
            } else {
                cm = new PoolingHttpClientConnectionManager();
            }

            cm.setDefaultMaxPerRoute(10);
            cm.setMaxTotal(100);
            RequestConfig config = RequestConfig.custom().setConnectTimeout(CONNECTION_TIMEOUT)
                    .setSocketTimeout(SO_TIMEOUT).build();
            httpClient = HttpClients.custom()
                    .setConnectionManager(cm).setDefaultRequestConfig(config).build();

        } catch (Exception e) {
            log.error("Failed init http client error message: {}, error stack trace: {}", e.getMessage(), e.getCause());
        }
    }