From 3eb5a943550842f4614d6873a7acbf63b82a0651 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Thu, 4 Aug 2022 17:57:39 -0700 Subject: Support zlib compression --- inform/codec.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/inform/codec.go b/inform/codec.go index 8147986..ac49aa1 100644 --- a/inform/codec.go +++ b/inform/codec.go @@ -2,6 +2,7 @@ package inform import ( "bytes" + "compress/zlib" "encoding/binary" "errors" "io" @@ -56,7 +57,18 @@ func (c *Codec) Unmarshal(fp io.Reader) (*InformWrapper, error) { return nil, err } } else if w.IsZlibCompressed() { - return nil, errors.New("payload is zlib compressed, not supported") + rb := bytes.NewReader(u) + wb := &bytes.Buffer{} + + r, err := zlib.NewReader(rb) + if err != nil { + return nil, err + } + + io.Copy(wb, r) + r.Close() + + w.Payload = wb.Bytes() } else { w.Payload = u } -- cgit v1.2.3