This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/main by this push:
     new 85035eb30e GH-3258: Support for bzip2 encoding in upload via GSP and 
SPARQL LOAD.
85035eb30e is described below

commit 85035eb30e9951f909700b3601eda2f5332ae1d8
Author: Claus Stadler <[email protected]>
AuthorDate: Wed Jun 18 22:13:52 2025 +0200

    GH-3258: Support for bzip2 encoding in upload via GSP and SPARQL LOAD.
---
 jena-arq/src/main/java/org/apache/jena/http/HttpLib.java               | 3 +++
 .../src/main/java/org/apache/jena/fuseki/system/DataUploader.java      | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/jena-arq/src/main/java/org/apache/jena/http/HttpLib.java 
b/jena-arq/src/main/java/org/apache/jena/http/HttpLib.java
index ca577b4d3c..76ab6d7839 100644
--- a/jena-arq/src/main/java/org/apache/jena/http/HttpLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/http/HttpLib.java
@@ -43,6 +43,7 @@ import java.util.function.Function;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.InflaterInputStream;
 
+import 
org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
 import org.apache.jena.atlas.RuntimeIOException;
 import org.apache.jena.atlas.io.IO;
 import org.apache.jena.atlas.lib.IRILib;
@@ -150,6 +151,8 @@ public class HttpLib {
                     return responseInput;
                 case "gzip" :
                     return new GZIPInputStream(responseInput, 2*1024);
+                case "bzip2" :
+                    return new BZip2CompressorInputStream(responseInput, true);
                 case "inflate" :
                     return new InflaterInputStream(responseInput);
                 case "br" : // RFC7932
diff --git 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/DataUploader.java
 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/DataUploader.java
index 68a3f5f189..0ddce4a5fc 100644
--- 
a/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/DataUploader.java
+++ 
b/jena-fuseki2/jena-fuseki-core/src/main/java/org/apache/jena/fuseki/system/DataUploader.java
@@ -28,6 +28,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.zip.GZIPInputStream;
 
+import 
org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
 import org.apache.commons.fileupload2.core.FileItemInput;
 import org.apache.commons.fileupload2.core.FileItemInputIterator;
 import 
org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
@@ -174,6 +175,8 @@ public class DataUploader {
             lang = RDFLanguages.pathnameToLang(submittedFileName);
             if (submittedFileName.endsWith(".gz"))
                 input = new GZIPInputStream(input);
+            else if (submittedFileName.endsWith(".bz2"))
+                input = new BZip2CompressorInputStream(input, true);
         }
         if ( lang == null )
             // Desperate.

Reply via email to