diff --git a/spring-vault-core/pom.xml b/spring-vault-core/pom.xml
index 6e453b1e..5d959aba 100644
--- a/spring-vault-core/pom.xml
+++ b/spring-vault-core/pom.xml
@@ -134,14 +134,14 @@
- org.apache.httpcomponents
- httpclient
+ org.apache.httpcomponents.client5
+ httpclient5
true
- org.apache.httpcomponents
- httpcore
+ org.apache.httpcomponents.core5
+ httpcore5
true
diff --git a/spring-vault-core/src/main/java/org/springframework/vault/client/ClientHttpRequestFactoryFactory.java b/spring-vault-core/src/main/java/org/springframework/vault/client/ClientHttpRequestFactoryFactory.java
index 176ddd52..d96ad17a 100644
--- a/spring-vault-core/src/main/java/org/springframework/vault/client/ClientHttpRequestFactoryFactory.java
+++ b/spring-vault-core/src/main/java/org/springframework/vault/client/ClientHttpRequestFactoryFactory.java
@@ -47,13 +47,16 @@ import okhttp3.ConnectionSpec;
import okhttp3.OkHttpClient.Builder;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.impl.client.LaxRedirectStrategy;
-import org.apache.http.impl.conn.DefaultSchemePortResolver;
-import org.apache.http.impl.conn.SystemDefaultRoutePlanner;
+import org.apache.hc.client5.http.config.RequestConfig;
+import org.apache.hc.client5.http.impl.DefaultSchemePortResolver;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.client5.http.impl.classic.HttpClients;
+import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
+import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
+import org.apache.hc.client5.http.impl.routing.SystemDefaultRoutePlanner;
+import org.apache.hc.client5.http.ssl.HttpsSupport;
+import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
+import org.apache.hc.core5.http.io.SocketConfig;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
@@ -303,22 +306,29 @@ public class ClientHttpRequestFactoryFactory {
}
SSLConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(sslContext,
- enabledProtocols, enabledCipherSuites, SSLConnectionSocketFactory.getDefaultHostnameVerifier());
- httpClientBuilder.setSSLSocketFactory(sslSocketFactory);
- httpClientBuilder.setSSLContext(sslContext);
+ enabledProtocols, enabledCipherSuites, HttpsSupport.getDefaultHostnameVerifier());
+ PoolingHttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder //
+ .create().setSSLSocketFactory(sslSocketFactory) //
+ .setDefaultSocketConfig(SocketConfig.custom() //
+ .setSoTimeout(Math.toIntExact(options.getReadTimeout().toMillis()),
+ TimeUnit.MILLISECONDS)
+ .build()) //
+ .build(); //
+ httpClientBuilder.setConnectionManager(connectionManager);
}
RequestConfig requestConfig = RequestConfig.custom()
//
- .setConnectTimeout(Math.toIntExact(options.getConnectionTimeout().toMillis())) //
- .setSocketTimeout(Math.toIntExact(options.getReadTimeout().toMillis())) //
+ .setConnectTimeout(Math.toIntExact(options.getConnectionTimeout().toMillis()),
+ TimeUnit.MILLISECONDS) //
.setAuthenticationEnabled(true) //
.build();
httpClientBuilder.setDefaultRequestConfig(requestConfig);
// Support redirects
- httpClientBuilder.setRedirectStrategy(new LaxRedirectStrategy());
+ // TODO: DefaultRedirectStrategy doesn't take method into account
+ // httpClientBuilder.setRedirectStrategy(new LaxRedirectStrategy());
return new HttpComponentsClientHttpRequestFactory(httpClientBuilder.build());
}
diff --git a/spring-vault-dependencies/pom.xml b/spring-vault-dependencies/pom.xml
index 78d71c56..ffaf9b32 100644
--- a/spring-vault-dependencies/pom.xml
+++ b/spring-vault-dependencies/pom.xml
@@ -57,8 +57,8 @@
- 4.5.13
- 4.4.15
+ 5.1.3
+ 5.1.4
3.0.6
4.1.79.Final
3.14.9
@@ -89,8 +89,8 @@
- org.apache.httpcomponents
- httpclient
+ org.apache.httpcomponents.client5
+ httpclient5
${httpclient.version}
true
@@ -102,8 +102,8 @@
- org.apache.httpcomponents
- httpcore
+ org.apache.httpcomponents.core5
+ httpcore5
${httpcore.version}
true