summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fankhauser hiddenalpha.ch2022-12-29 23:09:25 +0100
committerAndreas Fankhauser hiddenalpha.ch2022-12-29 23:09:25 +0100
commit2d5a068b88f814ff9747e53cb539a4a39cdf51f2 (patch)
tree9fa4fe2ea145585e83634d24e45ce33827bc5ddb
parentb89ec523c123a31a41a2f35ff58b84e6b17161d0 (diff)
downloadxtra4j-2d5a068b88f814ff9747e53cb539a4a39cdf51f2.zip
xtra4j-2d5a068b88f814ff9747e53cb539a4a39cdf51f2.tar.gz
Add EmptyGzipInputStream
-rw-r--r--xtra4j-misc/src/main/java/ch/hiddenalpha/xtra4j/octetstream/EmptyGzipInputStream.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/xtra4j-misc/src/main/java/ch/hiddenalpha/xtra4j/octetstream/EmptyGzipInputStream.java b/xtra4j-misc/src/main/java/ch/hiddenalpha/xtra4j/octetstream/EmptyGzipInputStream.java
new file mode 100644
index 0000000..28b5601
--- /dev/null
+++ b/xtra4j-misc/src/main/java/ch/hiddenalpha/xtra4j/octetstream/EmptyGzipInputStream.java
@@ -0,0 +1,25 @@
+package ch.hiddenalpha.xtra4j.octetstream;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+
+/**
+ * Same idea as {@link InputStream#nullInputStream()} but serving an empty gzip
+ * instead.
+ */
+public class EmptyGzipInputStream extends ByteArrayInputStream {
+
+ private static final byte[] EMPTY_GZIP = {
+ 0x1F, (byte) 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // gzip header
+ 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // empty deflate stream
+ };
+
+ /** Count of bytes this stream will serve */
+ public static final int length = EMPTY_GZIP.length;
+
+ public EmptyGzipInputStream() {
+ super(EMPTY_GZIP);
+ }
+
+}