This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch 3.6.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
commit a8023574cf77790b546eb266bcf42a5f9ff6d638 Author: Andriy Redko <[email protected]> AuthorDate: Tue May 9 20:54:12 2023 -0400 CXF-8606: Introduce HTTP/2 Transport: client-side support (use HTTPClientPolicy::version to enable HTTP/2 support) (cherry picked from commit bde029e847356b329173317f7fff146e363287d5) --- .../cxf/transport/http/asyncclient/hc5/AsyncHTTPConduit.java | 2 +- .../transport/http/asyncclient/hc5/AsyncHTTPConduitFactory.java | 2 +- .../apache/cxf/transport/http/netty/client/NettyHttpConduit.java | 6 +++--- rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd | 8 -------- 4 files changed, 5 insertions(+), 13 deletions(-) diff --git a/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduit.java b/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduit.java index 3e62e3ff37..5093597495 100644 --- a/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduit.java +++ b/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduit.java @@ -263,7 +263,7 @@ public class AsyncHTTPConduit extends HttpClientHTTPConduit { if (message != null) { final Object o = message.getContextualProperty(ENABLE_HTTP2); if (o != null) { - csPolicy.setEnableHttp2(PropertyUtils.isTrue(o)); + csPolicy.setVersion("2.0"); } } } diff --git a/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduitFactory.java b/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduitFactory.java index 3b5f1ab6a1..0c1114cd5d 100644 --- a/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduitFactory.java +++ b/rt/transports/http-hc5/src/main/java/org/apache/cxf/transport/http/asyncclient/hc5/AsyncHTTPConduitFactory.java @@ -353,7 +353,7 @@ public class AsyncHTTPConduitFactory implements HTTPConduitFactory { connectionManager.setDefaultMaxPerRoute(maxPerRoute); connectionManager.setMaxTotal(maxConnections); - if (Boolean.FALSE.equals(clientPolicy.isEnableHttp2())) { + if (!"2.0".equals(clientPolicy.getVersion())) { connectionManager.setDefaultTlsConfig(TlsConfig .custom() .setVersionPolicy(HttpVersionPolicy.FORCE_HTTP_1) diff --git a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java index b624e0c423..a2bf8e0a17 100644 --- a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java +++ b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduit.java @@ -182,7 +182,7 @@ public class NettyHttpConduit extends HttpClientHTTPConduit implements BusLifeCy message.put(Message.HTTP_REQUEST_METHOD, httpRequestMethod); } // setup a new NettyHttpClientRequest - final boolean enableHttp2 = csPolicy.isSetEnableHttp2() && csPolicy.isEnableHttp2(); + final boolean enableHttp2 = "2.0".equals(csPolicy.getVersion()); final NettyHttpClientRequest request = new NettyHttpClientRequest(uri, httpRequestMethod, enableHttp2); final int ctimeout = determineConnectionTimeout(message, csPolicy); final int rtimeout = determineReceiveTimeout(message, csPolicy); @@ -199,7 +199,7 @@ public class NettyHttpConduit extends HttpClientHTTPConduit implements BusLifeCy if (message != null) { final Object o = message.getContextualProperty(ENABLE_HTTP2); if (o != null) { - csPolicy.setEnableHttp2(PropertyUtils.isTrue(o)); + csPolicy.setVersion("2.0"); } } } @@ -254,7 +254,7 @@ public class NettyHttpConduit extends HttpClientHTTPConduit implements BusLifeCy int bufSize = csPolicy.getChunkLength() > 0 ? csPolicy.getChunkLength() : 16320; outBuffer = Unpooled.buffer(bufSize); outputStream = new ByteBufOutputStream(outBuffer); - enableHttp2 = csPolicy.isSetEnableHttp2() && csPolicy.isEnableHttp2(); + enableHttp2 = "2.0".equals(csPolicy.getVersion()); } protected ByteBuf getOutBuffer() { diff --git a/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd b/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd index d34f53bd9e..ca3ac7b116 100644 --- a/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd +++ b/rt/transports/http/src/main/resources/schemas/wsdl/http-conf.xsd @@ -400,14 +400,6 @@ </xs:documentation> </xs:annotation> </xs:attribute> - <xs:attribute name="EnableHttp2" type="ptp:ParameterizedBoolean" use="optional" default="true"> - <xs:annotation> - <xs:documentation> - If true, the client is free to use HTTP/2 if it supports it, but it is not - required to do so. If false, the client must use HTTP/1.1 in all cases. - </xs:documentation> - </xs:annotation> - </xs:attribute> <xs:anyAttribute namespace="http://schemas.xmlsoap.org/wsdl/"/> </xs:complexType>
