github.com/metasources/buildx@v0.0.0-20230418141019-7aa1459cedea/internal/mimetype_helper.go (about) 1 package internal 2 3 import "github.com/scylladb/go-set/strset" 4 5 var ( 6 ArchiveMIMETypeSet = strset.New( 7 // derived from https://en.wikipedia.org/wiki/List_of_archive_formats 8 []string{ 9 // archive only 10 "application/x-archive", 11 "application/x-cpio", 12 "application/x-shar", 13 "application/x-iso9660-image", 14 "application/x-sbx", 15 "application/x-tar", 16 // compression only 17 "application/x-bzip2", 18 "application/gzip", 19 "application/x-lzip", 20 "application/x-lzma", 21 "application/x-lzop", 22 "application/x-snappy-framed", 23 "application/x-xz", 24 "application/x-compress", 25 "application/zstd", 26 // archiving and compression 27 "application/x-7z-compressed", 28 "application/x-ace-compressed", 29 "application/x-astrotite-afa", 30 "application/x-alz-compressed", 31 "application/vnd.android.package-archive", 32 "application/x-freearc", 33 "application/x-arj", 34 "application/x-b1", 35 "application/vnd.ms-cab-compressed", 36 "application/x-cfs-compressed", 37 "application/x-dar", 38 "application/x-dgc-compressed", 39 "application/x-apple-diskimage", 40 "application/x-gca-compressed", 41 "application/java-archive", 42 "application/x-lzh", 43 "application/x-lzx", 44 "application/x-rar-compressed", 45 "application/x-stuffit", 46 "application/x-stuffitx", 47 "application/x-gtar", 48 "application/x-ms-wim", 49 "application/x-xar", 50 "application/zip", 51 "application/x-zoo", 52 }..., 53 ) 54 55 ExecutableMIMETypeSet = strset.New( 56 []string{ 57 "application/x-executable", 58 "application/x-mach-binary", 59 "application/x-elf", 60 "application/x-sharedlib", 61 "application/vnd.microsoft.portable-executable", 62 "application/x-executable", 63 }..., 64 ) 65 ) 66 67 func IsArchive(mimeType string) bool { 68 return ArchiveMIMETypeSet.Has(mimeType) 69 } 70 71 func IsExecutable(mimeType string) bool { 72 return ExecutableMIMETypeSet.Has(mimeType) 73 }