in pkg/3p/archiver/targz.go [28:48]
func isTarGz(targzPath string) bool {
f, err := os.Open(targzPath)
if err != nil {
return false
}
defer f.Close()
gzr, err := gzip.NewReader(f)
if err != nil {
return false
}
defer gzr.Close()
buf := make([]byte, tarBlockSize)
n, err := gzr.Read(buf)
if err != nil || n < tarBlockSize {
return false
}
return hasTarHeader(buf)
}