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

Reply via email to