You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2017/11/18 10:29:44 UTC
httpcomponents-client git commit: Replaced socket and connect timeout
request parameters with a single connection timeout request parameter. HTTP
requests may be executed concurrently over a single HTTP/2 connection and no
longer should overwrite connect
Repository: httpcomponents-client
Updated Branches:
refs/heads/master 47dfbfa22 -> 235348eec
Replaced socket and connect timeout request parameters with a single connection timeout request parameter. HTTP requests may be executed concurrently over a single HTTP/2 connection and no longer should overwrite connection socket timeout
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/commit/235348ee
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/tree/235348ee
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-client/diff/235348ee
Branch: refs/heads/master
Commit: 235348eec6e413133092b554e628af510cc9b7d3
Parents: 47dfbfa
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Sat Nov 18 11:24:17 2017 +0100
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Sat Nov 18 11:24:17 2017 +0100
----------------------------------------------------------------------
.../http/examples/fluent/FluentExecutor.java | 4 +-
.../http/examples/fluent/FluentRequests.java | 3 +-
.../apache/hc/client5/http/fluent/Request.java | 19 ++----
.../async/AbstractHttp1IntegrationTestBase.java | 3 +-
.../client5/testing/async/TestHttp1Async.java | 3 +-
.../testing/async/TestHttp1AsyncRedirects.java | 3 +-
.../TestHttp1AsyncStatefulConnManagement.java | 3 +-
.../async/TestHttp1ClientAuthentication.java | 3 +-
.../client5/testing/async/TestHttp2Async.java | 3 +-
.../testing/async/TestHttp2AsyncRedirect.java | 3 +-
.../async/TestHttp2ClientAuthentication.java | 3 +-
.../testing/sync/LocalServerTestBase.java | 3 +-
.../http/examples/ClientConfiguration.java | 3 +-
.../hc/client5/http/config/RequestConfig.java | 71 ++++++--------------
.../async/InternalHttp2AsyncExecRuntime.java | 6 +-
.../async/InternalHttpAsyncExecRuntime.java | 8 +--
.../impl/async/MinimalHttp2AsyncClient.java | 2 +-
.../http/impl/async/MinimalHttpAsyncClient.java | 4 +-
.../http/impl/classic/ExecRuntimeImpl.java | 9 ++-
.../client5/http/config/TestRequestConfig.java | 7 +-
.../http/impl/classic/TestExecRuntimeImpl.java | 4 +-
21 files changed, 53 insertions(+), 114 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentExecutor.java
----------------------------------------------------------------------
diff --git a/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentExecutor.java b/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentExecutor.java
index c6ccccf..56e3fc9 100644
--- a/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentExecutor.java
+++ b/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentExecutor.java
@@ -52,9 +52,7 @@ public class FluentExecutor {
// Execute a GET with timeout settings and return response content as String.
executor.execute(Request.Get("http://somehost/")
- .connectTimeout(Timeout.ofSeconds(1))
- .socketTimeout(Timeout.ofSeconds(1))
- ).returnContent().asString();
+ .connectionTimeout(Timeout.ofSeconds(1))).returnContent().asString();
// Execute a POST with the 'expect-continue' handshake, using HTTP/1.1,
// containing a request body as String and return response content as byte array.
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentRequests.java
----------------------------------------------------------------------
diff --git a/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentRequests.java b/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentRequests.java
index 520dd62..4e65679 100644
--- a/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentRequests.java
+++ b/httpclient5-fluent/src/examples/org/apache/hc/client5/http/examples/fluent/FluentRequests.java
@@ -43,8 +43,7 @@ public class FluentRequests {
public static void main(String[] args)throws Exception {
// Execute a GET with timeout settings and return response content as String.
Request.Get("http://somehost/")
- .connectTimeout(Timeout.ofSeconds(1))
- .socketTimeout(Timeout.ofSeconds(1))
+ .connectionTimeout(Timeout.ofSeconds(1))
.execute().returnContent().asString();
// Execute a POST with the 'expect-continue' handshake, using HTTP/1.1,
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java
----------------------------------------------------------------------
diff --git a/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java b/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java
index 938b4f1..1c0076c 100644
--- a/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java
+++ b/httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Request.java
@@ -76,8 +76,7 @@ public class Request {
private final HttpUriRequestBase request;
private Boolean useExpectContinue;
- private Timeout socketTmeout;
- private Timeout connectTimeout;
+ private Timeout connectionTimeout;
private HttpHost proxy;
private SimpleDateFormat dateFormatter;
@@ -171,11 +170,8 @@ public class Request {
if (this.useExpectContinue != null) {
builder.setExpectContinueEnabled(this.useExpectContinue);
}
- if (this.socketTmeout != null) {
- builder.setSocketTimeout(this.socketTmeout);
- }
- if (this.connectTimeout != null) {
- builder.setConnectTimeout(this.connectTimeout);
+ if (this.connectionTimeout != null) {
+ builder.setConnectionTimeout(this.connectionTimeout);
}
if (this.proxy != null) {
builder.setProxy(this.proxy);
@@ -283,13 +279,8 @@ public class Request {
//// HTTP connection parameter operations
- public Request socketTimeout(final Timeout timeout) {
- this.socketTmeout = timeout;
- return this;
- }
-
- public Request connectTimeout(final Timeout timeout) {
- this.connectTimeout = timeout;
+ public Request connectionTimeout(final Timeout timeout) {
+ this.connectionTimeout = timeout;
return this;
}
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttp1IntegrationTestBase.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttp1IntegrationTestBase.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttp1IntegrationTestBase.java
index 18dd89e..fc3252b 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttp1IntegrationTestBase.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttp1IntegrationTestBase.java
@@ -90,8 +90,7 @@ public abstract class AbstractHttp1IntegrationTestBase extends AbstractServerTes
protected void before() throws Throwable {
clientBuilder = HttpAsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setConnectionManager(connManager);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java
index 506001f..5417292 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1Async.java
@@ -94,8 +94,7 @@ public class TestHttp1Async extends AbstractHttpAsyncFundamentalsTest<CloseableH
protected void before() throws Throwable {
clientBuilder = HttpAsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setConnectionManager(connManager);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java
index 48caa35..10444f2 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncRedirects.java
@@ -111,8 +111,7 @@ public class TestHttp1AsyncRedirects extends AbstractHttpAsyncRedirectsTest<Clos
protected void before() throws Throwable {
clientBuilder = HttpAsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setConnectionManager(connManager);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java
index 7880f6c..1070961 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1AsyncStatefulConnManagement.java
@@ -89,8 +89,7 @@ public class TestHttp1AsyncStatefulConnManagement extends AbstractIntegrationTes
protected void before() throws Throwable {
clientBuilder = HttpAsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setConnectionManager(connManager);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
index e998c43..e9d5fb7 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
@@ -106,8 +106,7 @@ public class TestHttp1ClientAuthentication extends AbstractHttpAsyncClientAuthen
protected void before() throws Throwable {
clientBuilder = HttpAsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setConnectionManager(connManager);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2Async.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2Async.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2Async.java
index e64cbdd..ac0ea0b 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2Async.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2Async.java
@@ -62,8 +62,7 @@ public class TestHttp2Async extends AbstractHttpAsyncFundamentalsTest<CloseableH
protected void before() throws Throwable {
clientBuilder = Http2AsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setTlsStrategy(new BasicClientTlsStrategy(SSLTestContexts.createClientSSLContext()));
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2AsyncRedirect.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2AsyncRedirect.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2AsyncRedirect.java
index 63011af..417c3da 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2AsyncRedirect.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2AsyncRedirect.java
@@ -62,8 +62,7 @@ public class TestHttp2AsyncRedirect extends AbstractHttpAsyncRedirectsTest<Close
protected void before() throws Throwable {
clientBuilder = Http2AsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setTlsStrategy(new H2TlsStrategy(SSLTestContexts.createClientSSLContext()));
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2ClientAuthentication.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2ClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2ClientAuthentication.java
index 5cb1d80..91bdb5e 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2ClientAuthentication.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp2ClientAuthentication.java
@@ -66,8 +66,7 @@ public class TestHttp2ClientAuthentication extends AbstractHttpAsyncClientAuthen
protected void before() throws Throwable {
clientBuilder = Http2AsyncClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setTlsStrategy(new H2TlsStrategy(SSLTestContexts.createClientSSLContext()));
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/LocalServerTestBase.java
----------------------------------------------------------------------
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/LocalServerTestBase.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/LocalServerTestBase.java
index 38761fe..5e9da8a 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/LocalServerTestBase.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/LocalServerTestBase.java
@@ -110,8 +110,7 @@ public abstract class LocalServerTestBase {
.build());
clientBuilder = HttpClientBuilder.create()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(TIMEOUT)
- .setConnectTimeout(TIMEOUT)
+ .setConnectionTimeout(TIMEOUT)
.setConnectionRequestTimeout(TIMEOUT)
.build())
.setConnectionManager(connManager);
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/examples/org/apache/hc/client5/http/examples/ClientConfiguration.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/examples/org/apache/hc/client5/http/examples/ClientConfiguration.java b/httpclient5/src/examples/org/apache/hc/client5/http/examples/ClientConfiguration.java
index 1868ac4..f9dfc9c 100644
--- a/httpclient5/src/examples/org/apache/hc/client5/http/examples/ClientConfiguration.java
+++ b/httpclient5/src/examples/org/apache/hc/client5/http/examples/ClientConfiguration.java
@@ -212,8 +212,7 @@ public class ClientConfiguration {
// Request configuration can be overridden at the request level.
// They will take precedence over the one set at the client level.
final RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig)
- .setSocketTimeout(Timeout.ofSeconds(5))
- .setConnectTimeout(Timeout.ofSeconds(5))
+ .setConnectionTimeout(Timeout.ofSeconds(5))
.setConnectionRequestTimeout(Timeout.ofSeconds(5))
.setProxy(new HttpHost("myotherproxy", 8080))
.build();
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/main/java/org/apache/hc/client5/http/config/RequestConfig.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/config/RequestConfig.java b/httpclient5/src/main/java/org/apache/hc/client5/http/config/RequestConfig.java
index 7b9e8b9..2af0534 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/config/RequestConfig.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/config/RequestConfig.java
@@ -42,8 +42,7 @@ import org.apache.hc.core5.util.Timeout;
public class RequestConfig implements Cloneable {
private static final Timeout DEFAULT_CONNECTION_REQUEST_TIMEOUT = Timeout.ofMinutes(3);
- private static final Timeout DEFAULT_CONNECT_TIMEOUT = Timeout.ofMinutes(3);
- private static final Timeout DEFAULT_SOCKET_TIMEOUT = Timeout.ZERO_MILLISECONDS;
+ private static final Timeout DEFAULT_CONNECTION_TIMEOUT = Timeout.ofMinutes(3);
public static final RequestConfig DEFAULT = new Builder().build();
@@ -57,16 +56,14 @@ public class RequestConfig implements Cloneable {
private final Collection<String> targetPreferredAuthSchemes;
private final Collection<String> proxyPreferredAuthSchemes;
private final Timeout connectionRequestTimeout;
- private final Timeout connectTimeout;
- private final Timeout socketTimeout;
+ private final Timeout connectionTimeout;
private final boolean contentCompressionEnabled;
/**
* Intended for CDI compatibility
*/
protected RequestConfig() {
- this(false, null, null, false, false, 0, false, null, null,
- DEFAULT_CONNECTION_REQUEST_TIMEOUT, DEFAULT_CONNECT_TIMEOUT, DEFAULT_SOCKET_TIMEOUT, false);
+ this(false, null, null, false, false, 0, false, null, null, DEFAULT_CONNECTION_REQUEST_TIMEOUT, DEFAULT_CONNECTION_TIMEOUT, false);
}
RequestConfig(
@@ -80,8 +77,7 @@ public class RequestConfig implements Cloneable {
final Collection<String> targetPreferredAuthSchemes,
final Collection<String> proxyPreferredAuthSchemes,
final Timeout connectionRequestTimeout,
- final Timeout connectTimeout,
- final Timeout socketTimeout,
+ final Timeout connectionTimeout,
final boolean contentCompressionEnabled) {
super();
this.expectContinueEnabled = expectContinueEnabled;
@@ -94,8 +90,7 @@ public class RequestConfig implements Cloneable {
this.targetPreferredAuthSchemes = targetPreferredAuthSchemes;
this.proxyPreferredAuthSchemes = proxyPreferredAuthSchemes;
this.connectionRequestTimeout = connectionRequestTimeout;
- this.connectTimeout = connectTimeout;
- this.socketTimeout = socketTimeout;
+ this.connectionTimeout = connectionTimeout;
this.contentCompressionEnabled = contentCompressionEnabled;
}
@@ -228,7 +223,8 @@ public class RequestConfig implements Cloneable {
}
/**
- * Determines the timeout in milliseconds until a connection is established.
+ * Determines the timeout in milliseconds until a new connection is
+ * fully established or established connection transmits a data packet.
* A timeout value of zero is interpreted as an infinite timeout.
* <p>
* A timeout value of zero is interpreted as an infinite timeout.
@@ -237,25 +233,11 @@ public class RequestConfig implements Cloneable {
* <p>
* Default: 3 minutes
* </p>
+ *
+ * @since 5.0
*/
- public Timeout getConnectTimeout() {
- return connectTimeout;
- }
-
- /**
- * Defines the socket timeout ({@code SO_TIMEOUT}) in milliseconds,
- * which is the timeout for waiting for data or, put differently,
- * a maximum period inactivity between two consecutive data packets).
- * <p>
- * A timeout value of zero is interpreted as an infinite timeout.
- * A negative value is interpreted as undefined (system default).
- * </p>
- * <p>
- * Default: no timeout.
- * </p>
- */
- public Timeout getSocketTimeout() {
- return socketTimeout;
+ public Timeout getConnectionTimeout() {
+ return connectionTimeout;
}
/**
@@ -289,8 +271,7 @@ public class RequestConfig implements Cloneable {
builder.append(", targetPreferredAuthSchemes=").append(targetPreferredAuthSchemes);
builder.append(", proxyPreferredAuthSchemes=").append(proxyPreferredAuthSchemes);
builder.append(", connectionRequestTimeout=").append(connectionRequestTimeout);
- builder.append(", connectTimeout=").append(connectTimeout);
- builder.append(", socketTimeout=").append(socketTimeout);
+ builder.append(", connectionTimeout=").append(connectionTimeout);
builder.append(", contentCompressionEnabled=").append(contentCompressionEnabled);
builder.append("]");
return builder.toString();
@@ -312,8 +293,7 @@ public class RequestConfig implements Cloneable {
.setTargetPreferredAuthSchemes(config.getTargetPreferredAuthSchemes())
.setProxyPreferredAuthSchemes(config.getProxyPreferredAuthSchemes())
.setConnectionRequestTimeout(config.getConnectionRequestTimeout())
- .setConnectTimeout(config.getConnectTimeout())
- .setSocketTimeout(config.getSocketTimeout())
+ .setConnectionTimeout(config.getConnectionTimeout())
.setContentCompressionEnabled(config.isContentCompressionEnabled());
}
@@ -329,8 +309,7 @@ public class RequestConfig implements Cloneable {
private Collection<String> targetPreferredAuthSchemes;
private Collection<String> proxyPreferredAuthSchemes;
private Timeout connectionRequestTimeout;
- private Timeout connectTimeout;
- private Timeout socketTimeout;
+ private Timeout connectionTimeout;
private boolean contentCompressionEnabled;
Builder() {
@@ -339,8 +318,7 @@ public class RequestConfig implements Cloneable {
this.maxRedirects = 50;
this.authenticationEnabled = true;
this.connectionRequestTimeout = DEFAULT_CONNECTION_REQUEST_TIMEOUT;
- this.connectTimeout = DEFAULT_CONNECT_TIMEOUT;
- this.socketTimeout = DEFAULT_SOCKET_TIMEOUT;
+ this.connectionTimeout = DEFAULT_CONNECTION_TIMEOUT;
this.contentCompressionEnabled = true;
}
@@ -399,23 +377,13 @@ public class RequestConfig implements Cloneable {
return this;
}
- public Builder setConnectTimeout(final Timeout connectTimeout) {
- this.connectTimeout = connectTimeout;
+ public Builder setConnectionTimeout(final Timeout connectionTimeout) {
+ this.connectionTimeout = connectionTimeout;
return this;
}
public Builder setConnectTimeout(final long connectTimeout, final TimeUnit timeUnit) {
- this.connectTimeout = Timeout.of(connectTimeout, timeUnit);
- return this;
- }
-
- public Builder setSocketTimeout(final Timeout socketTimeout) {
- this.socketTimeout = socketTimeout;
- return this;
- }
-
- public Builder setSocketTimeout(final long socketTimeout, final TimeUnit timeUnit) {
- this.socketTimeout = Timeout.of(socketTimeout, timeUnit);
+ this.connectionTimeout = Timeout.of(connectTimeout, timeUnit);
return this;
}
@@ -436,8 +404,7 @@ public class RequestConfig implements Cloneable {
targetPreferredAuthSchemes,
proxyPreferredAuthSchemes,
connectionRequestTimeout != null ? connectionRequestTimeout : DEFAULT_CONNECTION_REQUEST_TIMEOUT,
- connectTimeout != null ? connectTimeout : DEFAULT_CONNECT_TIMEOUT,
- socketTimeout != null ? socketTimeout : DEFAULT_SOCKET_TIMEOUT,
+ connectionTimeout != null ? connectionTimeout : DEFAULT_CONNECTION_TIMEOUT,
contentCompressionEnabled);
}
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttp2AsyncExecRuntime.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttp2AsyncExecRuntime.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttp2AsyncExecRuntime.java
index 624dafe..0c4176c 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttp2AsyncExecRuntime.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttp2AsyncExecRuntime.java
@@ -73,7 +73,7 @@ class InternalHttp2AsyncExecRuntime implements AsyncExecRuntime {
if (sessionRef.get() == null) {
final HttpHost target = route.getTargetHost();
final RequestConfig requestConfig = context.getRequestConfig();
- connPool.getSession(target, requestConfig.getConnectTimeout(), new FutureCallback<IOSession>() {
+ connPool.getSession(target, requestConfig.getConnectionTimeout(), new FutureCallback<IOSession>() {
@Override
public void completed(final IOSession ioSession) {
@@ -153,7 +153,7 @@ class InternalHttp2AsyncExecRuntime implements AsyncExecRuntime {
} else {
final HttpHost target = endpoint.target;
final RequestConfig requestConfig = context.getRequestConfig();
- connPool.getSession(target, requestConfig.getConnectTimeout(), new FutureCallback<IOSession>() {
+ connPool.getSession(target, requestConfig.getConnectionTimeout(), new FutureCallback<IOSession>() {
@Override
public void completed(final IOSession ioSession) {
@@ -194,7 +194,7 @@ class InternalHttp2AsyncExecRuntime implements AsyncExecRuntime {
} else {
final HttpHost target = endpoint.target;
final RequestConfig requestConfig = context.getRequestConfig();
- connPool.getSession(target, requestConfig.getConnectTimeout(), new FutureCallback<IOSession>() {
+ connPool.getSession(target, requestConfig.getConnectionTimeout(), new FutureCallback<IOSession>() {
@Override
public void completed(final IOSession ioSession) {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncExecRuntime.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncExecRuntime.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncExecRuntime.java
index 23ed986..e7566c4 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncExecRuntime.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncExecRuntime.java
@@ -183,19 +183,19 @@ class InternalHttpAsyncExecRuntime implements AsyncExecRuntime {
callback.completed(this);
} else {
final RequestConfig requestConfig = context.getRequestConfig();
+ final TimeValue timeout = requestConfig.getConnectionTimeout();
manager.connect(
endpoint,
connectionInitiator,
- requestConfig.getConnectTimeout(),
+ timeout,
versionPolicy,
context,
new FutureCallback<AsyncConnectionEndpoint>() {
@Override
public void completed(final AsyncConnectionEndpoint endpoint) {
- final TimeValue socketTimeout = requestConfig.getSocketTimeout();
- if (TimeValue.isPositive(socketTimeout)) {
- endpoint.setSocketTimeout(socketTimeout.toMillisIntBound());
+ if (TimeValue.isPositive(timeout)) {
+ endpoint.setSocketTimeout(timeout.toMillisIntBound());
}
callback.completed(InternalHttpAsyncExecRuntime.this);
}
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttp2AsyncClient.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttp2AsyncClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttp2AsyncClient.java
index 3871e88..4347e3f 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttp2AsyncClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttp2AsyncClient.java
@@ -133,7 +133,7 @@ public final class MinimalHttp2AsyncClient extends AbstractMinimalHttpAsyncClien
} else {
requestConfig = clientContext.getRequestConfig();
}
- final Timeout connectTimeout = requestConfig.getConnectTimeout();
+ final Timeout connectTimeout = requestConfig.getConnectionTimeout();
final HttpHost target = new HttpHost(request.getAuthority(), request.getScheme());
final Future<IOSession> sessionFuture = connPool.getSession(target, connectTimeout, new FutureCallback<IOSession>() {
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttpAsyncClient.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttpAsyncClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttpAsyncClient.java
index 54a3e66..35b1fce 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttpAsyncClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/MinimalHttpAsyncClient.java
@@ -180,7 +180,7 @@ public final class MinimalHttpAsyncClient extends AbstractMinimalHttpAsyncClient
final HttpClientContext clientContext = HttpClientContext.adapt(context);
final RequestConfig requestConfig = clientContext.getRequestConfig();
final BasicFuture<AsyncClientEndpoint> future = new BasicFuture<>(callback);
- leaseEndpoint(host, requestConfig.getConnectTimeout(), clientContext, new FutureCallback<AsyncConnectionEndpoint>() {
+ leaseEndpoint(host, requestConfig.getConnectionTimeout(), clientContext, new FutureCallback<AsyncConnectionEndpoint>() {
@Override
public void completed(final AsyncConnectionEndpoint result) {
@@ -225,7 +225,7 @@ public final class MinimalHttpAsyncClient extends AbstractMinimalHttpAsyncClient
} else {
requestConfig = clientContext.getRequestConfig();
}
- final Timeout connectTimeout = requestConfig.getConnectTimeout();
+ final Timeout connectTimeout = requestConfig.getConnectionTimeout();
final HttpHost target = new HttpHost(request.getAuthority(), request.getScheme());
final Future<AsyncConnectionEndpoint> leaseFuture = leaseEndpoint(target, connectTimeout, clientContext,
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ExecRuntimeImpl.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ExecRuntimeImpl.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ExecRuntimeImpl.java
index 75e876e..86c8f3a 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ExecRuntimeImpl.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ExecRuntimeImpl.java
@@ -149,11 +149,10 @@ class ExecRuntimeImpl implements ExecRuntime, Cancellable {
}
}
final RequestConfig requestConfig = context.getRequestConfig();
- final TimeValue connectTimeout = requestConfig.getConnectTimeout();
- manager.connect(endpoint, connectTimeout, context);
- final TimeValue socketTimeout = requestConfig.getSocketTimeout();
- if (socketTimeout.getDuration() >= 0) {
- endpoint.setSocketTimeout(socketTimeout.toMillisIntBound());
+ final TimeValue timeout = requestConfig.getConnectionTimeout();
+ manager.connect(endpoint, timeout, context);
+ if (TimeValue.isPositive(timeout)) {
+ endpoint.setSocketTimeout(timeout.toMillisIntBound());
}
}
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java b/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
index 487b385..02060a3 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
@@ -47,8 +47,7 @@ public class TestRequestConfig {
@Test
public void testDefaults() {
final RequestConfig config = RequestConfig.DEFAULT;
- Assert.assertEquals(Timeout.ZERO_MILLISECONDS, config.getSocketTimeout());
- Assert.assertEquals(Timeout.ofMinutes(3), config.getConnectTimeout());
+ Assert.assertEquals(Timeout.ofMinutes(3), config.getConnectionTimeout());
Assert.assertEquals(Timeout.ofMinutes(3), config.getConnectionRequestTimeout());
Assert.assertEquals(false, config.isExpectContinueEnabled());
Assert.assertEquals(true, config.isAuthenticationEnabled());
@@ -65,7 +64,6 @@ public class TestRequestConfig {
@Test
public void testBuildAndCopy() throws Exception {
final RequestConfig config0 = RequestConfig.custom()
- .setSocketTimeout(22, TimeUnit.MILLISECONDS)
.setConnectTimeout(33, TimeUnit.MILLISECONDS)
.setConnectionRequestTimeout(44, TimeUnit.MILLISECONDS)
.setExpectContinueEnabled(true)
@@ -80,8 +78,7 @@ public class TestRequestConfig {
.setContentCompressionEnabled(false)
.build();
final RequestConfig config = RequestConfig.copy(config0).build();
- Assert.assertEquals(TimeValue.ofMillis(22), config.getSocketTimeout());
- Assert.assertEquals(TimeValue.ofMillis(33), config.getConnectTimeout());
+ Assert.assertEquals(TimeValue.ofMillis(33), config.getConnectionTimeout());
Assert.assertEquals(TimeValue.ofMillis(44), config.getConnectionRequestTimeout());
Assert.assertEquals(true, config.isExpectContinueEnabled());
Assert.assertEquals(false, config.isAuthenticationEnabled());
http://git-wip-us.apache.org/repos/asf/httpcomponents-client/blob/235348ee/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestExecRuntimeImpl.java
----------------------------------------------------------------------
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestExecRuntimeImpl.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestExecRuntimeImpl.java
index 5b6cf35..07cc652 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestExecRuntimeImpl.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestExecRuntimeImpl.java
@@ -83,7 +83,6 @@ public class TestExecRuntimeImpl {
final HttpClientContext context = HttpClientContext.create();
final RequestConfig config = RequestConfig.custom()
.setConnectTimeout(123, TimeUnit.MILLISECONDS)
- .setSocketTimeout(234, TimeUnit.MILLISECONDS)
.setConnectionRequestTimeout(345, TimeUnit.MILLISECONDS)
.build();
context.setRequestConfig(config);
@@ -261,7 +260,6 @@ public class TestExecRuntimeImpl {
final HttpClientContext context = HttpClientContext.create();
final RequestConfig config = RequestConfig.custom()
.setConnectTimeout(123, TimeUnit.MILLISECONDS)
- .setSocketTimeout(234, TimeUnit.MILLISECONDS)
.setConnectionRequestTimeout(345, TimeUnit.MILLISECONDS)
.build();
context.setRequestConfig(config);
@@ -279,7 +277,7 @@ public class TestExecRuntimeImpl {
execRuntime.connect(context);
Mockito.verify(mgr).connect(connectionEndpoint, TimeValue.ofMillis(123), context);
- Mockito.verify(connectionEndpoint).setSocketTimeout(234);
+ Mockito.verify(connectionEndpoint).setSocketTimeout(123);
}
@Test