in golang/pkg/utils/utils.go [156:175]
func MatchCompressionAlgorithm(in []byte) CompressionType {
if in == nil {
return Unknown
}
if len(in) >= 2 {
if in[0] == 0x78 {
return Zlib
} else if in[0] == 0x1f && in[1] == 0x8b {
return GZIP
}
}
if len(in) >= 4 {
if in[0] == 0x04 && in[1] == 0x22 && in[2] == 0x4D && in[3] == 0x18 {
return LZ4
} else if in[0] == 0x28 && in[1] == 0xB5 && in[2] == 0x2F && in[3] == 0xFD {
return ZSTD
}
}
return Unknown
}