mirror of
https://github.com/apache/httpcomponents-client.git
synced 2025-02-27 21:29:12 +00:00
Improvements in the ClientConfiguration sample app
This commit is contained in:
parent
09ae5f212a
commit
9ad56ad734
@ -54,10 +54,9 @@
|
||||
import org.apache.hc.client5.http.impl.classic.HttpClients;
|
||||
import org.apache.hc.client5.http.impl.io.ManagedHttpClientConnectionFactory;
|
||||
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;
|
||||
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
|
||||
import org.apache.hc.client5.http.io.ManagedHttpClientConnection;
|
||||
import org.apache.hc.client5.http.protocol.HttpClientContext;
|
||||
import org.apache.hc.client5.http.socket.ConnectionSocketFactory;
|
||||
import org.apache.hc.client5.http.socket.PlainConnectionSocketFactory;
|
||||
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
|
||||
import org.apache.hc.core5.http.ClassicHttpRequest;
|
||||
import org.apache.hc.core5.http.ClassicHttpResponse;
|
||||
@ -66,8 +65,6 @@
|
||||
import org.apache.hc.core5.http.ParseException;
|
||||
import org.apache.hc.core5.http.config.CharCodingConfig;
|
||||
import org.apache.hc.core5.http.config.Http1Config;
|
||||
import org.apache.hc.core5.http.config.Registry;
|
||||
import org.apache.hc.core5.http.config.RegistryBuilder;
|
||||
import org.apache.hc.core5.http.impl.io.DefaultClassicHttpResponseFactory;
|
||||
import org.apache.hc.core5.http.impl.io.DefaultHttpRequestWriterFactory;
|
||||
import org.apache.hc.core5.http.impl.io.DefaultHttpResponseParser;
|
||||
@ -152,10 +149,7 @@ public Header parseHeader(final CharArrayBuffer buffer) {
|
||||
|
||||
// Create a registry of custom connection socket factories for supported
|
||||
// protocol schemes.
|
||||
final Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
|
||||
.register("http", PlainConnectionSocketFactory.INSTANCE)
|
||||
.register("https", new SSLConnectionSocketFactory(sslContext))
|
||||
.build();
|
||||
final SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext);
|
||||
|
||||
// Use custom DNS resolver to override the system DNS resolution.
|
||||
final DnsResolver dnsResolver = new SystemDefaultDnsResolver() {
|
||||
@ -172,9 +166,13 @@ public InetAddress[] resolve(final String host) throws UnknownHostException {
|
||||
};
|
||||
|
||||
// Create a connection manager with custom configuration.
|
||||
final PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(
|
||||
socketFactoryRegistry, PoolConcurrencyPolicy.STRICT, PoolReusePolicy.LIFO, TimeValue.ofMinutes(5),
|
||||
null, dnsResolver, null);
|
||||
final PoolingHttpClientConnectionManager connManager = PoolingHttpClientConnectionManagerBuilder.create()
|
||||
.setSSLSocketFactory(sslConnectionSocketFactory)
|
||||
.setConnectionFactory(connFactory)
|
||||
.setDnsResolver(dnsResolver)
|
||||
.setPoolConcurrencyPolicy(PoolConcurrencyPolicy.STRICT)
|
||||
.setConnPoolPolicy(PoolReusePolicy.LIFO)
|
||||
.build();
|
||||
|
||||
// Configure the connection manager to use socket configuration either
|
||||
// by default or for a specific host.
|
||||
|
Loading…
x
Reference in New Issue
Block a user