This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git


The following commit(s) were added to refs/heads/master by this push:
     new 8733cf3  Revert "Revert "VFS-784 - Pass SSL connection factory to 
PoolingHttpClientConnectionManager (#119)""
8733cf3 is described below

commit 8733cf3549c8dbfcab30e024ca9e313c29a29641
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Jul 15 13:04:23 2021 -0400

    Revert "Revert "VFS-784 - Pass SSL connection factory to 
PoolingHttpClientConnectionManager (#119)""
    
    This reverts commit c3e6aeb444b4e9aa9a6ee38440808b41f151c285.
---
 .../vfs2/provider/http4/Http4FileProvider.java     | 25 ++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
index 99d7d1b..2420240 100644
--- 
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
+++ 
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
@@ -57,11 +57,16 @@ import org.apache.http.client.CredentialsProvider;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.protocol.HttpClientContext;
+import org.apache.http.config.Registry;
+import org.apache.http.config.RegistryBuilder;
 import org.apache.http.config.SocketConfig;
 import org.apache.http.conn.HttpClientConnectionManager;
 import org.apache.http.conn.routing.HttpRoutePlanner;
+import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
 import org.apache.http.conn.ssl.DefaultHostnameVerifier;
 import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.conn.ssl.TrustAllStrategy;
 import org.apache.http.cookie.Cookie;
 import org.apache.http.impl.DefaultConnectionReuseStrategy;
@@ -115,8 +120,15 @@ public class Http4FileProvider extends 
AbstractOriginatingFileProvider {
     }
 
     private HttpClientConnectionManager createConnectionManager(final 
Http4FileSystemConfigBuilder builder,
-        final FileSystemOptions fileSystemOptions) {
-        final PoolingHttpClientConnectionManager connManager = new 
PoolingHttpClientConnectionManager();
+        final FileSystemOptions fileSystemOptions, final SSLContext 
sslContext, final HostnameVerifier verifier) {
+        final SSLConnectionSocketFactory sslFactory = new 
SSLConnectionSocketFactory(sslContext, verifier);
+        final Registry<ConnectionSocketFactory> socketFactoryRegistry =
+                RegistryBuilder.<ConnectionSocketFactory> create()
+                        .register("https", sslFactory)
+                        .register("http", new PlainConnectionSocketFactory())
+                        .build();
+
+        final PoolingHttpClientConnectionManager connManager = new 
PoolingHttpClientConnectionManager(socketFactoryRegistry);
         
connManager.setMaxTotal(builder.getMaxTotalConnections(fileSystemOptions));
         
connManager.setDefaultMaxPerRoute(builder.getMaxConnectionsPerHost(fileSystemOptions));
 
@@ -189,13 +201,14 @@ public class Http4FileProvider extends 
AbstractOriginatingFileProvider {
         final ConnectionReuseStrategy connectionReuseStrategy = 
builder.isKeepAlive(fileSystemOptions)
                 ? DefaultConnectionReuseStrategy.INSTANCE
                 : NoConnectionReuseStrategy.INSTANCE;
-
+        final SSLContext sslContext = createSSLContext(builder, 
fileSystemOptions);
+        final HostnameVerifier hostNameVerifier = 
createHostnameVerifier(builder, fileSystemOptions);
         final HttpClientBuilder httpClientBuilder =
                 HttpClients.custom()
                 .setRoutePlanner(createHttpRoutePlanner(builder, 
fileSystemOptions))
-                .setConnectionManager(createConnectionManager(builder, 
fileSystemOptions))
-                .setSSLContext(createSSLContext(builder, fileSystemOptions))
-                .setSSLHostnameVerifier(createHostnameVerifier(builder, 
fileSystemOptions))
+                .setConnectionManager(createConnectionManager(builder, 
fileSystemOptions, sslContext, hostNameVerifier))
+                .setSSLContext(sslContext)
+                .setSSLHostnameVerifier(hostNameVerifier)
                 .setConnectionReuseStrategy(connectionReuseStrategy)
                 .setDefaultRequestConfig(createDefaultRequestConfig(builder, 
fileSystemOptions))
                 .setDefaultHeaders(defaultHeaders)

Reply via email to