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/08/09 18:15:13 UTC

[04/10] httpcomponents-core git commit: Classic HTTP request executor to set protocol version in the context if set a transport protocol version specified by the request

Classic HTTP request executor to set protocol version in the context if set a transport protocol version specified by the request


Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/commit/ee32600e
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/tree/ee32600e
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/diff/ee32600e

Branch: refs/heads/master
Commit: ee32600eff46a6504041d634caabecb1cb1f628e
Parents: e7a4c2a
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Wed Aug 9 14:56:49 2017 +0200
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Wed Aug 9 14:56:49 2017 +0200

----------------------------------------------------------------------
 .../apache/hc/core5/http/impl/io/HttpRequestExecutor.java   | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/ee32600e/httpcore5/src/main/java/org/apache/hc/core5/http/impl/io/HttpRequestExecutor.java
----------------------------------------------------------------------
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/impl/io/HttpRequestExecutor.java b/httpcore5/src/main/java/org/apache/hc/core5/http/impl/io/HttpRequestExecutor.java
index ac36432..e7492b1 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/impl/io/HttpRequestExecutor.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/impl/io/HttpRequestExecutor.java
@@ -39,7 +39,9 @@ import org.apache.hc.core5.http.HttpEntity;
 import org.apache.hc.core5.http.HttpException;
 import org.apache.hc.core5.http.HttpHeaders;
 import org.apache.hc.core5.http.HttpStatus;
+import org.apache.hc.core5.http.HttpVersion;
 import org.apache.hc.core5.http.ProtocolVersion;
+import org.apache.hc.core5.http.UnsupportedHttpVersionException;
 import org.apache.hc.core5.http.impl.DefaultConnectionReuseStrategy;
 import org.apache.hc.core5.http.impl.Http1StreamListener;
 import org.apache.hc.core5.http.io.HttpClientConnection;
@@ -120,6 +122,13 @@ public class HttpRequestExecutor {
         try {
             context.setAttribute(HttpCoreContext.SSL_SESSION, conn.getSSLSession());
             context.setAttribute(HttpCoreContext.CONNECTION_ENDPOINT, conn.getEndpointDetails());
+            final ProtocolVersion transportVersion = request.getVersion();
+            if (transportVersion != null) {
+                if (transportVersion.greaterEquals(HttpVersion.HTTP_2)) {
+                    throw new UnsupportedHttpVersionException("Unsupported version: " + transportVersion);
+                }
+                context.setProtocolVersion(transportVersion);
+            }
 
             conn.sendRequestHeader(request);
             if (streamListener != null) {