@ -38,7 +38,6 @@ import org.apache.hc.client5.http.impl.classic.HttpClients;
@@ -38,7 +38,6 @@ import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.io.HttpClientConnectionManager ;
import org.apache.hc.client5.http.protocol.HttpClientContext ;
import org.apache.hc.core5.http.ClassicHttpRequest ;
import org.apache.hc.core5.http.io.SocketConfig ;
import org.apache.hc.core5.http.protocol.HttpContext ;
import org.jspecify.annotations.Nullable ;
@ -68,8 +67,6 @@ public class HttpComponentsClientHttpRequestFactory implements ClientHttpRequest
@@ -68,8 +67,6 @@ public class HttpComponentsClientHttpRequestFactory implements ClientHttpRequest
private @Nullable BiFunction < HttpMethod , URI , HttpContext > httpContextFactory ;
private long connectTimeout = - 1 ;
private long connectionRequestTimeout = - 1 ;
private long readTimeout = - 1 ;
@ -110,44 +107,6 @@ public class HttpComponentsClientHttpRequestFactory implements ClientHttpRequest
@@ -110,44 +107,6 @@ public class HttpComponentsClientHttpRequestFactory implements ClientHttpRequest
return this . httpClient ;
}
/ * *
* Set the connection timeout for the underlying { @link RequestConfig } .
* A timeout value of 0 specifies an infinite timeout .
* < p > Additional properties can be configured by specifying a
* { @link RequestConfig } instance on a custom { @link HttpClient } .
* < p > This options does not affect connection timeouts for SSL
* handshakes or CONNECT requests ; for that , it is required to
* use the { @link SocketConfig } on the
* { @link HttpClient } itself .
* @param connectTimeout the timeout value in milliseconds
* @see RequestConfig # getConnectTimeout ( )
* @see SocketConfig # getSoTimeout
* /
public void setConnectTimeout ( int connectTimeout ) {
Assert . isTrue ( connectTimeout > = 0 , "Timeout must be a non-negative value" ) ;
this . connectTimeout = connectTimeout ;
}
/ * *
* Set the connection timeout for the underlying { @link RequestConfig } .
* A timeout value of 0 specifies an infinite timeout .
* < p > Additional properties can be configured by specifying a
* { @link RequestConfig } instance on a custom { @link HttpClient } .
* < p > This options does not affect connection timeouts for SSL
* handshakes or CONNECT requests ; for that , it is required to
* use the { @link SocketConfig } on the
* { @link HttpClient } itself .
* @param connectTimeout the timeout as a { @code Duration } .
* @since 6 . 1
* @see RequestConfig # getConnectTimeout ( )
* @see SocketConfig # getSoTimeout
* /
public void setConnectTimeout ( Duration connectTimeout ) {
Assert . notNull ( connectTimeout , "ConnectTimeout must not be null" ) ;
Assert . isTrue ( ! connectTimeout . isNegative ( ) , "Timeout must be a non-negative value" ) ;
this . connectTimeout = connectTimeout . toMillis ( ) ;
}
/ * *
* Set the timeout in milliseconds used when requesting a connection
* from the connection manager using the underlying { @link RequestConfig } .
@ -295,16 +254,12 @@ public class HttpComponentsClientHttpRequestFactory implements ClientHttpRequest
@@ -295,16 +254,12 @@ public class HttpComponentsClientHttpRequestFactory implements ClientHttpRequest
* @return the merged request config
* @since 4 . 2
* /
@SuppressWarnings ( "deprecation" ) // setConnectTimeout
protected RequestConfig mergeRequestConfig ( RequestConfig clientConfig ) {
if ( this . connectTimeout = = - 1 & & this . connect ionRequestTimeout = = - 1 & & this . readTimeout = = - 1 ) { // nothing to merge
if ( this . connectionRequestTimeout = = - 1 & & this . readTimeout = = - 1 ) { // nothing to merge
return clientConfig ;
}
RequestConfig . Builder builder = RequestConfig . copy ( clientConfig ) ;
if ( this . connectTimeout > = 0 ) {
builder . setConnectTimeout ( this . connectTimeout , TimeUnit . MILLISECONDS ) ;
}
if ( this . connectionRequestTimeout > = 0 ) {
builder . setConnectionRequestTimeout ( this . connectionRequestTimeout , TimeUnit . MILLISECONDS ) ;
}