diff --git a/CHANGELOG-3.0.md b/CHANGELOG-3.0.md index 40a1950ed1c78..3aab0be90af7e 100644 --- a/CHANGELOG-3.0.md +++ b/CHANGELOG-3.0.md @@ -57,7 +57,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Fix compression support for h2c protocol ([#4944](https://github.com/opensearch-project/OpenSearch/pull/4944)) - Don't over-allocate in HeapBufferedAsyncEntityConsumer in order to consume the response ([#9993](https://github.com/opensearch-project/OpenSearch/pull/9993)) - Fix swapped field formats in nodes API where `total_indexing_buffer_in_bytes` and `total_indexing_buffer` values were reversed ([#17070](https://github.com/opensearch-project/OpenSearch/pull/17070)) - +- Add HTTP/2 protocol support to HttpRequest.HttpVersion ([#17248](https://github.com/opensearch-project/OpenSearch/pull/17248)) ### Security diff --git a/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpRequest.java b/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpRequest.java index 3c96affb7adf7..9c21d55aaf867 100644 --- a/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpRequest.java +++ b/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpRequest.java @@ -217,6 +217,8 @@ public HttpVersion protocolVersion() { return HttpRequest.HttpVersion.HTTP_1_0; } else if (request.protocolVersion().equals(io.netty.handler.codec.http.HttpVersion.HTTP_1_1)) { return HttpRequest.HttpVersion.HTTP_1_1; + } else if (request.protocolVersion().equals("HTTP/2.0")) { + return HttpRequest.HttpVersion.HTTP_2_0; } else { throw new IllegalArgumentException("Unexpected http protocol version: " + request.protocolVersion()); } diff --git a/plugins/transport-reactor-netty4/src/main/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpRequest.java b/plugins/transport-reactor-netty4/src/main/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpRequest.java index 491c7aa885103..c6b90ba578447 100644 --- a/plugins/transport-reactor-netty4/src/main/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpRequest.java +++ b/plugins/transport-reactor-netty4/src/main/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpRequest.java @@ -156,6 +156,8 @@ public HttpVersion protocolVersion() { return HttpRequest.HttpVersion.HTTP_1_0; } else if (protocol.equals(io.netty.handler.codec.http.HttpVersion.HTTP_1_1.toString())) { return HttpRequest.HttpVersion.HTTP_1_1; + } else if (protocol.equals("HTTP/2.0")) { + return HttpRequest.HttpVersion.HTTP_2_0; } else { throw new IllegalArgumentException("Unexpected http protocol version: " + protocol); } diff --git a/server/src/main/java/org/opensearch/http/HttpRequest.java b/server/src/main/java/org/opensearch/http/HttpRequest.java index 3dc10777b657a..56e6276811377 100644 --- a/server/src/main/java/org/opensearch/http/HttpRequest.java +++ b/server/src/main/java/org/opensearch/http/HttpRequest.java @@ -59,7 +59,8 @@ public interface HttpRequest { @PublicApi(since = "1.0.0") enum HttpVersion { HTTP_1_0, - HTTP_1_1 + HTTP_1_1, + HTTP_2_0 } /**