This is an automated email from the ASF dual-hosted git repository. ndipiazza pushed a commit to branch TIKA-4679-http2-server-support in repository https://gitbox.apache.org/repos/asf/tika.git
commit 184803ba237b15cd9aef2b6196aa5225efdb779e Author: Lawrence Moorehead <[email protected]> AuthorDate: Wed Feb 25 21:09:19 2026 -0500 Adding jetty http2 dependency allows cxf to support http2 requests. --- tika-server/tika-server-core/pom.xml | 6 +++++- .../server/core/TikaServerIntegrationTest.java | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/tika-server/tika-server-core/pom.xml b/tika-server/tika-server-core/pom.xml index 4d499001fd..c3531b6e23 100644 --- a/tika-server/tika-server-core/pom.xml +++ b/tika-server/tika-server-core/pom.xml @@ -89,6 +89,10 @@ <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> </dependency> + <dependency> + <groupId>org.eclipse.jetty.http2</groupId> + <artifactId>http2-server</artifactId> + </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-rs-security-cors</artifactId> @@ -261,4 +265,4 @@ <scm> <tag>3.0.0-rc1</tag> </scm> -</project> \ No newline at end of file +</project> diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java index 943c85ddee..accbe372d9 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java @@ -24,7 +24,11 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; +import java.net.URI; import java.net.URISyntaxException; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -100,6 +104,24 @@ public class TikaServerIntegrationTest extends IntegrationTestBase { testBaseline(); } + @Test + public void testH2c() throws Exception { + startProcess(new String[]{"-config", getConfig("tika-config-server-basic.json")}); + awaitServerStartup(); + // Using HttpClient in order to check Http2 Version + HttpClient httpClient = HttpClient.newBuilder() + .version(HttpClient.Version.HTTP_2) + .build(); + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(endPoint + STATUS_PATH)) + .header("Accept", "application/json") + .GET() + .build(); + HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString(UTF_8)); + assertEquals(200, response.statusCode()); + assertEquals(HttpClient.Version.HTTP_2, response.version()); + } + @Test public void testOOM() throws Exception { // With pipes-based parsing, OOM in a child process should NOT crash the server
