add dnsResolver in HttpAsyncClientBuilder
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpasyncclient/trunk@1676697 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/HttpAsyncClientBuilder.java b/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/HttpAsyncClientBuilder.java
index b7e9e6e..4f8fb86 100644
--- a/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/HttpAsyncClientBuilder.java
+++ b/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/HttpAsyncClientBuilder.java
@@ -61,6 +61,7 @@
import org.apache.http.config.Lookup;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.conn.ConnectionKeepAliveStrategy;
+import org.apache.http.conn.DnsResolver;
import org.apache.http.conn.SchemePortResolver;
import org.apache.http.conn.routing.HttpRoutePlanner;
import org.apache.http.conn.ssl.DefaultHostnameVerifier;
@@ -157,6 +158,7 @@
private AuthenticationStrategy proxyAuthStrategy;
private UserTokenHandler userTokenHandler;
private HttpProcessor httpprocessor;
+ private DnsResolver dnsResolver;
private LinkedList<HttpRequestInterceptor> requestFirst;
private LinkedList<HttpRequestInterceptor> requestLast;
@@ -328,6 +330,17 @@
}
/**
+ * Assigns {@link DnsResolver} instance.
+ * <p>
+ * Please note this value can be overridden by the {@link #setConnectionManager(
+ * org.apache.http.nio.conn.NHttpClientConnectionManager)} method.
+ */
+ public final HttpAsyncClientBuilder setDnsResolver(final DnsResolver dnsResolver){
+ this.dnsResolver = dnsResolver;
+ return this;
+ }
+
+ /**
* Adds this protocol interceptor to the head of the protocol processing list.
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
@@ -669,10 +682,12 @@
defaultIOReactorConfig != null ? defaultIOReactorConfig : IOReactorConfig.DEFAULT);
final PoolingNHttpClientConnectionManager poolingmgr = new PoolingNHttpClientConnectionManager(
ioreactor,
+ null,
RegistryBuilder.<SchemeIOSessionStrategy>create()
.register("http", NoopIOSessionStrategy.INSTANCE)
.register("https", sslStrategy)
- .build());
+ .build(),
+ this.dnsResolver);
if (defaultConnectionConfig != null) {
poolingmgr.setDefaultConnectionConfig(defaultConnectionConfig);
}