@Override
    public int read() throws IOException {
        while (currentIndex == currentLength) {
            String line = readLine(in);
            if (line.equals("")) {
                return -1;
            }
            String[] parts = line.split(";", 2);
            currentLength = Integer.parseInt(parts[0], 16);
            currentSignature = parts[1];
            chunk = new byte[currentLength];
            currentIndex = 0;
            ByteStreams.readFully(in, chunk);
            // TODO: check currentSignature
            if (currentLength == 0) {
                return -1;
            }
            readLine(in);
        }
        return chunk[currentIndex++] & 0xFF;
    }
Parse an AWS v4 signature chunked stream.  Reference:
https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html
src/main/java/org/gaul/s3proxy/ChunkedInputStream.java