func MatchCompressionAlgorithm()

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
}