src/java.net.http/share/classes/jdk/internal/net/http/HttpClientBuilderImpl.java
changeset 51364 31d9e82b2e64
parent 49765 ee6f7a61f3a5
child 56868 67c7659ecda5
equal deleted inserted replaced
51363:a6fa2016cff1 51364:31d9e82b2e64
    26 package jdk.internal.net.http;
    26 package jdk.internal.net.http;
    27 
    27 
    28 import java.net.Authenticator;
    28 import java.net.Authenticator;
    29 import java.net.CookieHandler;
    29 import java.net.CookieHandler;
    30 import java.net.ProxySelector;
    30 import java.net.ProxySelector;
       
    31 import java.time.Duration;
    31 import java.util.concurrent.Executor;
    32 import java.util.concurrent.Executor;
    32 import javax.net.ssl.SSLContext;
    33 import javax.net.ssl.SSLContext;
    33 import javax.net.ssl.SSLParameters;
    34 import javax.net.ssl.SSLParameters;
    34 import java.net.http.HttpClient;
    35 import java.net.http.HttpClient;
    35 import jdk.internal.net.http.common.Utils;
    36 import jdk.internal.net.http.common.Utils;
    36 import static java.util.Objects.requireNonNull;
    37 import static java.util.Objects.requireNonNull;
    37 
    38 
    38 public class HttpClientBuilderImpl implements HttpClient.Builder {
    39 public class HttpClientBuilderImpl implements HttpClient.Builder {
    39 
    40 
    40     CookieHandler cookieHandler;
    41     CookieHandler cookieHandler;
       
    42     Duration connectTimeout;
    41     HttpClient.Redirect followRedirects;
    43     HttpClient.Redirect followRedirects;
    42     ProxySelector proxy;
    44     ProxySelector proxy;
    43     Authenticator authenticator;
    45     Authenticator authenticator;
    44     HttpClient.Version version;
    46     HttpClient.Version version;
    45     Executor executor;
    47     Executor executor;
    53         requireNonNull(cookieHandler);
    55         requireNonNull(cookieHandler);
    54         this.cookieHandler = cookieHandler;
    56         this.cookieHandler = cookieHandler;
    55         return this;
    57         return this;
    56     }
    58     }
    57 
    59 
       
    60     @Override
       
    61     public HttpClientBuilderImpl connectTimeout(Duration duration) {
       
    62         requireNonNull(duration);
       
    63         if (duration.isNegative() || Duration.ZERO.equals(duration))
       
    64             throw new IllegalArgumentException("Invalid duration: " + duration);
       
    65         this.connectTimeout = duration;
       
    66         return this;
       
    67     }
    58 
    68 
    59     @Override
    69     @Override
    60     public HttpClientBuilderImpl sslContext(SSLContext sslContext) {
    70     public HttpClientBuilderImpl sslContext(SSLContext sslContext) {
    61         requireNonNull(sslContext);
    71         requireNonNull(sslContext);
    62         this.sslContext = sslContext;
    72         this.sslContext = sslContext;