diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt index d662114df..aa77ee1de 100644 --- a/RELEASE_NOTES.txt +++ b/RELEASE_NOTES.txt @@ -1,3 +1,14 @@ +Release 5.0-ALPHA2 +------------------- + +Changelog: +------------------- + +* [HTTPCLIENT-1714] Add HttpClientBuilder.setDnsResolver(DnsResolver). + Contributed by Alexis Thaveau + + + Release 5.0-ALPHA1 ------------------- diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/sync/HttpClientBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/sync/HttpClientBuilder.java index 263432067..43f495ee6 100644 --- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/sync/HttpClientBuilder.java +++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/sync/HttpClientBuilder.java @@ -43,6 +43,7 @@ import javax.net.ssl.SSLSocketFactory; import org.apache.hc.client5.http.ConnectionKeepAliveStrategy; +import org.apache.hc.client5.http.DnsResolver; import org.apache.hc.client5.http.SchemePortResolver; import org.apache.hc.client5.http.SystemDefaultDnsResolver; import org.apache.hc.client5.http.auth.AuthSchemeProvider; @@ -170,6 +171,7 @@ public class HttpClientBuilder { private AuthenticationStrategy proxyAuthStrategy; private UserTokenHandler userTokenHandler; private HttpProcessor httpprocessor; + private DnsResolver dnsResolver; private LinkedList requestFirst; private LinkedList requestLast; @@ -685,6 +687,18 @@ public final HttpClientBuilder setDefaultCredentialsProvider( return this; } + /** + * Assigns {@link DnsResolver} instance. + *

+ * Please note this value can be overridden by the {@link #setConnectionManager(HttpClientConnectionManager)} + * method. + *

+ */ + public final HttpClientBuilder setDnsResolver(final DnsResolver dnsResolver) { + this.dnsResolver = dnsResolver; + return this; + } + /** * Assigns default {@link org.apache.hc.client5.http.auth.AuthScheme} registry which will * be used for request execution if not explicitly set in the client execution @@ -906,7 +920,7 @@ public CloseableHttpClient build() { .build(), null, null, - null, + dnsResolver, connTimeToLive, connTimeToLiveTimeUnit != null ? connTimeToLiveTimeUnit : TimeUnit.MILLISECONDS); if (defaultSocketConfig != null) {