From 2d5a068b88f814ff9747e53cb539a4a39cdf51f2 Mon Sep 17 00:00:00 2001 From: Andreas Fankhauser hiddenalpha.ch Date: Thu, 29 Dec 2022 23:09:25 +0100 Subject: Add EmptyGzipInputStream --- .../xtra4j/octetstream/EmptyGzipInputStream.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 xtra4j-misc/src/main/java/ch/hiddenalpha/xtra4j/octetstream/EmptyGzipInputStream.java 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); + } + +} -- cgit v1.1