src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java
branchhttp-client-branch
changeset 56868 67c7659ecda5
parent 56451 9585061fdb04
parent 51364 31d9e82b2e64
--- a/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java	Fri Jul 27 12:16:01 2018 +0100
+++ b/src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java	Mon Aug 27 11:48:07 2018 +0100
@@ -28,6 +28,7 @@
 import java.net.Authenticator;
 import java.net.CookieHandler;
 import java.net.ProxySelector;
+import java.time.Duration;
 import java.util.concurrent.Executor;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
@@ -38,6 +39,7 @@
 public class HttpClientBuilderImpl implements HttpClient.Builder {
 
     CookieHandler cookieHandler;
+    Duration connectTimeout;
     HttpClient.Redirect followRedirects;
     ProxySelector proxy;
     Authenticator authenticator;
@@ -55,6 +57,14 @@
         return this;
     }
 
+    @Override
+    public HttpClientBuilderImpl connectTimeout(Duration duration) {
+        requireNonNull(duration);
+        if (duration.isNegative() || Duration.ZERO.equals(duration))
+            throw new IllegalArgumentException("Invalid duration: " + duration);
+        this.connectTimeout = duration;
+        return this;
+    }
 
     @Override
     public HttpClientBuilderImpl sslContext(SSLContext sslContext) {