|
39 | 39 | import java.util.regex.Matcher; |
40 | 40 | import java.util.regex.Pattern; |
41 | 41 | import javax.net.ssl.SSLContext; |
42 | | -import javax.net.ssl.SSLEngine; |
43 | 42 |
|
44 | 43 | import com.fasterxml.jackson.core.JsonProcessingException; |
45 | 44 | import com.fasterxml.jackson.databind.JsonNode; |
|
64 | 63 | import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider; |
65 | 64 | import org.apache.hc.client5.http.impl.nio.PoolingAsyncClientConnectionManagerBuilder; |
66 | 65 | import org.apache.hc.client5.http.nio.AsyncClientConnectionManager; |
67 | | -import org.apache.hc.client5.http.ssl.ClientTlsStrategyBuilder; |
| 66 | +import org.apache.hc.client5.http.ssl.DefaultClientTlsStrategy; |
68 | 67 | import org.apache.hc.client5.http.ssl.NoopHostnameVerifier; |
69 | 68 | import org.apache.hc.core5.concurrent.FutureCallback; |
70 | | -import org.apache.hc.core5.function.Factory; |
71 | 69 | import org.apache.hc.core5.http.ConnectionClosedException; |
72 | 70 | import org.apache.hc.core5.http.ContentType; |
73 | 71 | import org.apache.hc.core5.http.Header; |
|
78 | 76 | import org.apache.hc.core5.http.ProtocolVersion; |
79 | 77 | import org.apache.hc.core5.http.io.entity.EntityUtils; |
80 | 78 | import org.apache.hc.core5.http.io.entity.StringEntity; |
81 | | -import org.apache.hc.core5.http.nio.ssl.TlsStrategy; |
82 | | -import org.apache.hc.core5.reactor.ssl.TlsDetails; |
| 79 | +import org.apache.hc.core5.reactor.ssl.SSLBufferMode; |
83 | 80 | import org.apache.hc.core5.ssl.SSLContextBuilder; |
84 | 81 | import org.apache.hc.core5.ssl.SSLContexts; |
85 | 82 | import org.apache.hc.core5.util.Timeout; |
@@ -363,27 +360,20 @@ protected final CloseableHttpAsyncClient getHTTPClient() throws Exception { |
363 | 360 | protocols = new String[] { "TLSv1", "TLSv1.1", "TLSv1.2" }; |
364 | 361 | } |
365 | 362 |
|
366 | | - final TlsStrategy tlsStrategy = ClientTlsStrategyBuilder.create() |
367 | | - .setSslContext(sslContext) |
368 | | - .setTlsVersions(protocols) |
369 | | - .setHostnameVerifier(NoopHostnameVerifier.INSTANCE) |
370 | | - // See please https://issues.apache.org/jira/browse/HTTPCLIENT-2219 |
371 | | - .setTlsDetailsFactory(new Factory<SSLEngine, TlsDetails>() { |
372 | | - @Override |
373 | | - public TlsDetails create(final SSLEngine sslEngine) { |
374 | | - return new TlsDetails(sslEngine.getSession(), sslEngine.getApplicationProtocol()); |
375 | | - } |
376 | | - }) |
377 | | - .build(); |
| 363 | + final DefaultClientTlsStrategy tlsStrategy = new DefaultClientTlsStrategy( |
| 364 | + sslContext, |
| 365 | + protocols, |
| 366 | + null, |
| 367 | + SSLBufferMode.STATIC, |
| 368 | + NoopHostnameVerifier.INSTANCE |
| 369 | + ); |
378 | 370 |
|
379 | 371 | final AsyncClientConnectionManager cm = PoolingAsyncClientConnectionManagerBuilder.create().setTlsStrategy(tlsStrategy).build(); |
380 | 372 |
|
381 | 373 | hcb.setConnectionManager(cm); |
382 | 374 | } |
383 | 375 |
|
384 | | - final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom() |
385 | | - .setResponseTimeout(Timeout.ofSeconds(60)) |
386 | | - .setProtocolUpgradeEnabled(false); |
| 376 | + final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom().setResponseTimeout(Timeout.ofSeconds(60)); |
387 | 377 |
|
388 | 378 | return hcb.setDefaultRequestConfig(requestConfigBuilder.build()).disableAutomaticRetries().build(); |
389 | 379 | } |
|
0 commit comments