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.