code: private CloseableHttpClient createHttpClient() throws AzkabanClientException {
      try {
      // SSLSocketFactory using custom TrustStrategy that ignores warnings about untrusted certificates
      // Self sign SSL
      SSLContextBuilder sslcb = new SSLContextBuilder();
      sslcb.loadTrustMaterial(null, (TrustStrategy) new TrustSelfSignedStrategy());
      SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcb.build());
  
      HttpClientBuilder builder = HttpClientBuilder.create();
      RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT)
            .setSocketTimeout(10000)
            .setConnectTimeout(10000)
            .setConnectionRequestTimeout(10000)
            .build();
  
        builder.disableCookieManagement()
            .useSystemProperties()
            .setDefaultRequestConfig(requestConfig)
            .setConnectionManager(new BasicHttpClientConnectionManager())
            .setSSLSocketFactory(sslsf);
  
        return builder.build();
      } catch (Exception e) {
        throw new AzkabanClientException("HttpClient cannot be created", e);
      }
    }
docs: Create a {@link CloseableHttpClient} used to communicate with Azkaban server.
  Derived class can configure different http client by overriding this method.
  
  @return A closeable http client.