summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
+ }
+
+}