You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by mi...@apache.org on 2018/12/24 00:05:30 UTC
[httpcomponents-client] branch drop-http11-keep-alive created (now
92b3d19)
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a change to branch drop-http11-keep-alive
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git.
at 92b3d19 Send Keep-Alive for HTTP/1.0 only
This branch includes the following new commits:
new 92b3d19 Send Keep-Alive for HTTP/1.0 only
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[httpcomponents-client] 01/01: Send Keep-Alive for HTTP/1.0 only
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch drop-http11-keep-alive
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit 92b3d1944dd22658dd3b580d5cf59fe1a22329a2
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Mon Dec 24 01:04:57 2018 +0100
Send Keep-Alive for HTTP/1.0 only
---
.../testing/sync/TestMinimalClientRequestExecution.java | 4 ++--
.../hc/client5/http/protocol/RequestClientConnControl.java | 7 +++++--
.../client5/http/protocol/TestRequestClientConnControl.java | 12 ++++++------
3 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestMinimalClientRequestExecution.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestMinimalClientRequestExecution.java
index 0092cf4..c15a361 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestMinimalClientRequestExecution.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestMinimalClientRequestExecution.java
@@ -91,8 +91,8 @@ public class TestMinimalClientRequestExecution extends LocalServerTestBase {
for (final Header header: headers) {
headerSet.add(header.getName().toLowerCase(Locale.ROOT));
}
- Assert.assertEquals(3, headerSet.size());
- Assert.assertTrue(headerSet.contains("connection"));
+ Assert.assertEquals(2, headerSet.size());
+ //Assert.assertTrue(headerSet.contains("connection"));
Assert.assertTrue(headerSet.contains("host"));
Assert.assertTrue(headerSet.contains("user-agent"));
}
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestClientConnControl.java b/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestClientConnControl.java
index 902cac2..58ffd66 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestClientConnControl.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestClientConnControl.java
@@ -38,6 +38,8 @@ import org.apache.hc.core5.http.HttpException;
import org.apache.hc.core5.http.HttpHeaders;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.HttpRequestInterceptor;
+import org.apache.hc.core5.http.HttpVersion;
+import org.apache.hc.core5.http.ProtocolVersion;
import org.apache.hc.core5.http.protocol.HttpContext;
import org.apache.hc.core5.util.Args;
import org.slf4j.Logger;
@@ -81,13 +83,14 @@ public class RequestClientConnControl implements HttpRequestInterceptor {
return;
}
+ final ProtocolVersion ver = context.getProtocolVersion();
if (route.getHopCount() == 1 || route.isTunnelled()) {
- if (!request.containsHeader(HttpHeaders.CONNECTION)) {
+ if (!request.containsHeader(HttpHeaders.CONNECTION) && ver.lessEquals(HttpVersion.HTTP_1_0)) {
request.addHeader(HttpHeaders.CONNECTION, HeaderElements.KEEP_ALIVE);
}
}
if (route.getHopCount() == 2 && !route.isTunnelled()) {
- if (!request.containsHeader(PROXY_CONN_DIRECTIVE)) {
+ if (!request.containsHeader(PROXY_CONN_DIRECTIVE) && ver.lessEquals(HttpVersion.HTTP_1_0)) {
request.addHeader(PROXY_CONN_DIRECTIVE, HeaderElements.KEEP_ALIVE);
}
}
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestClientConnControl.java b/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestClientConnControl.java
index b4ce09a..6326f9a 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestClientConnControl.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestClientConnControl.java
@@ -76,8 +76,8 @@ public class TestRequestClientConnControl {
interceptor.process(request, null, context);
final Header header1 = request.getFirstHeader(HttpHeaders.CONNECTION);
- Assert.assertNotNull(header1);
- Assert.assertEquals(HeaderElements.KEEP_ALIVE, header1.getValue());
+ Assert.assertNull(header1);
+ //Assert.assertEquals(HeaderElements.KEEP_ALIVE, header1.getValue());
final Header header2 = request.getFirstHeader("Proxy-Connection");
Assert.assertNull(header2);
}
@@ -98,8 +98,8 @@ public class TestRequestClientConnControl {
interceptor.process(request, null, context);
final Header header1 = request.getFirstHeader(HttpHeaders.CONNECTION);
- Assert.assertNotNull(header1);
- Assert.assertEquals(HeaderElements.KEEP_ALIVE, header1.getValue());
+ Assert.assertNull(header1);
+ //Assert.assertEquals(HeaderElements.KEEP_ALIVE, header1.getValue());
final Header header2 = request.getFirstHeader("Proxy-Connection");
Assert.assertNull(header2);
}
@@ -120,8 +120,8 @@ public class TestRequestClientConnControl {
interceptor.process(request, null, context);
final Header header1 = request.getFirstHeader("Proxy-Connection");
- Assert.assertNotNull(header1);
- Assert.assertEquals(HeaderElements.KEEP_ALIVE, header1.getValue());
+ Assert.assertNull(header1);
+ //Assert.assertEquals(HeaderElements.KEEP_ALIVE, header1.getValue());
final Header header2 = request.getFirstHeader(HttpHeaders.CONNECTION);
Assert.assertNull(header2);
}