@@ -170,8 +170,7 @@ public HttpClientSseClientTransport(HttpClient.Builder clientBuilder, String bas
170170 @ Deprecated (forRemoval = true )
171171 public HttpClientSseClientTransport (HttpClient .Builder clientBuilder , HttpRequest .Builder requestBuilder ,
172172 String baseUri , String sseEndpoint , ObjectMapper objectMapper ) {
173- this (clientBuilder .connectTimeout (Duration .ofSeconds (10 )).build (), requestBuilder , baseUri , sseEndpoint ,
174- objectMapper );
173+ this (clientBuilder .build (), requestBuilder , baseUri , sseEndpoint , objectMapper );
175174 }
176175
177176 /**
@@ -241,9 +240,7 @@ public static class Builder {
241240
242241 private String sseEndpoint = DEFAULT_SSE_ENDPOINT ;
243242
244- private HttpClient .Builder clientBuilder = HttpClient .newBuilder ()
245- .version (HttpClient .Version .HTTP_1_1 )
246- .connectTimeout (Duration .ofSeconds (10 ));
243+ private HttpClient .Builder clientBuilder = HttpClient .newBuilder ().version (HttpClient .Version .HTTP_1_1 );
247244
248245 private ObjectMapper objectMapper = new ObjectMapper ();
249246
@@ -252,6 +249,8 @@ public static class Builder {
252249
253250 private AsyncHttpRequestCustomizer httpRequestCustomizer = AsyncHttpRequestCustomizer .NOOP ;
254251
252+ private Duration connectTimeout = Duration .ofSeconds (10 );
253+
255254 /**
256255 * Creates a new builder instance.
257256 */
@@ -383,13 +382,25 @@ public Builder asyncHttpRequestCustomizer(AsyncHttpRequestCustomizer asyncHttpRe
383382 return this ;
384383 }
385384
385+ /**
386+ * Sets the connection timeout for the HTTP client.
387+ * @param connectTimeout the connection timeout duration
388+ * @return this builder
389+ */
390+ public Builder connectTimeout (Duration connectTimeout ) {
391+ Assert .notNull (connectTimeout , "connectTimeout must not be null" );
392+ this .connectTimeout = connectTimeout ;
393+ return this ;
394+ }
395+
386396 /**
387397 * Builds a new {@link HttpClientSseClientTransport} instance.
388398 * @return a new transport instance
389399 */
390400 public HttpClientSseClientTransport build () {
391- return new HttpClientSseClientTransport (clientBuilder .build (), requestBuilder , baseUri , sseEndpoint ,
392- objectMapper , httpRequestCustomizer );
401+ HttpClient httpClient = this .clientBuilder .connectTimeout (this .connectTimeout ).build ();
402+ return new HttpClientSseClientTransport (httpClient , requestBuilder , baseUri , sseEndpoint , objectMapper ,
403+ httpRequestCustomizer );
393404 }
394405
395406 }
0 commit comments