mimetype.assign = ( # Archives ".7z" => "application/x-7z-compressed", ".bz2" => "application/x-bzip2", ".cpio" => "application/x-cpio", ".deb" => "application/vnd.debian.binary-package", ".gz" => "application/gzip", ".jar" => "application/x-java-archive", ".lz" => "application/lzip", ".par2" => "application/x-par2", ".rar" => "application/vnd.rar", ".rpm" => "application/x-rpm", ".tbz" => "application/x-bzip2", ".tgz" => "application/gzip", ".txz" => "application/x-xz", ".tzst" => "application/zstd", ".warc" => "application/warc", ".xz" => "application/x-xz", ".zip" => "application/zip", ".zst" => "application/zstd", # Text files ".asc" => "text/plain", ".csv" => "text/csv", ".cue" => "text/plain", ".icf" => "text/calendar; charset=utf-8", ".info" => "text/info; charset=utf-8", ".json" => "application/json; charset=utf-8", ".ldif" => "text/plain; charset=utf-8", ".log" => "text/plain; charset=utf-8", ".md" => "text/markdown; charset=utf-8", ".rec" => "text/plain; charset=utf-8", ".sql" => "text/plain; charset=utf-8", ".txt" => "text/plain; charset=utf-8", ".url" => "text/uri-list; charset=utf-8", ".vcf" => "text/vcard; charset=utf-8", ".zone" => "text/dns; charset=utf-8", "ls-lR" => "text/plain; charset=utf-8", "README" => "text/plain; charset=utf-8", # XMLs ".atom" => "application/atom+xml", ".dbk" => "application/docbook+xml", ".opml" => "application/xml", ".rss" => "application/rss+xml", ".xbel" => "application/xml", ".xml" => "application/xml", # Web ".css" => "text/css; charset=utf-8", ".dtd" => "application/xml-dtd", ".htm" => "text/html", ".html" => "text/html", ".js" => "application/javascript; charset=utf-8", ".wasm" => "application/wasm", ".xhtml" => "application/xhtml+xml", # Fonts ".otf" => "font/otf", ".ttf" => "font/ttf", ".woff" => "font/woff", ".woff2" => "font/woff2", # Documents ".cbr" => "application/vnd.comicbook+rar", ".cbz" => "application/vnd.comicbook+zip", ".chm" => "application/vnd.ms-htmlhelp", ".djvu" => "image/vnd.djvu", ".dvi" => "application/x-dvi", ".eps" => "application/postscript", ".epub" => "application/epub+zip", ".fb2" => "application/x-fictionbook+xml", ".pdf" => "application/pdf", ".ps" => "application/postscript", # OpenDocument ".odb" => "application/vnd.oasis.opendocument.database", ".odc" => "application/vnd.oasis.opendocument.chart", ".odf" => "application/vnd.oasis.opendocument.formula", ".odg" => "application/vnd.oasis.opendocument.graphics", ".odi" => "application/vnd.oasis.opendocument.image", ".odm" => "application/vnd.oasis.opendocument.text-master", ".odp" => "application/vnd.oasis.opendocument.presentation", ".ods" => "application/vnd.oasis.opendocument.spreadsheet", ".odt" => "application/vnd.oasis.opendocument.text", ".otc" => "application/vnd.oasis.opendocument.chart-template", ".otg" => "application/vnd.oasis.opendocument.graphics-template", ".oth" => "application/vnd.oasis.opendocument.text-web", ".oti" => "application/vnd.oasis.opendocument.image-template", ".otp" => "application/vnd.oasis.opendocument.presentation-template", ".ots" => "application/vnd.oasis.opendocument.spreadsheet-template", ".ott" => "application/vnd.oasis.opendocument.text-template", # Microsoft formats ".doc" => "application/msword", ".docx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document", ".dotx" => "application/vnd.openxmlformats-officedocument.wordprocessingml.template", ".potx" => "application/vnd.openxmlformats-officedocument.presentationml.template", ".ppsx" => "application/vnd.openxmlformats-officedocument.presentationml.slideshow", ".ppt" => "application/vnd.ms-powerpoint", ".pptx" => "application/vnd.openxmlformats-officedocument.presentationml.presentation", ".rtf" => "application/rtf", ".sldx" => "application/vnd.openxmlformats-officedocument.presentationml.slide", ".xls" => "application/vnd.ms-excel", ".xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ".xltx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.template", # Interactive fiction ".blb" => "application/x-blorb", ".blorb" => "application/x-blorb", ".gblorb" => "application/x-blorb", ".glb" => "application/x-blorb", ".ifm" => "text/plain", ".ulx" => "application/x-glulx", ".z1" => "application/x-zmachine", ".z2" => "application/x-zmachine", ".z3" => "application/x-zmachine", ".z4" => "application/x-zmachine", ".z5" => "application/x-zmachine", ".z6" => "application/x-zmachine", ".z7" => "application/x-zmachine", ".z8" => "application/x-zmachine", ".zblorb" => "application/x-blorb", ".zlb" => "application/x-blorb", # Cryptography ".cer" => "application/pkix-cert", ".crl" => "application/pkix-crl", ".gpg" => "application/pgp-encrypted", ".p10" => "application/pkcs10", ".p12" => "application/pkcs12", ".p7c" => "application/pkcs7-mime", ".p7m" => "application/pkcs7-mime", ".p7s" => "application/pkcs7-signature", ".p8" => "application/pkcs8", ".p8e" => "application/pkcs8-encrypted", ".pem" => "application/pem-certificate-chain", ".pfx" => "application/pkcs12", ".sig" => "application/pgp-signature", # Images ".apng" => "image/vnd.mozilla.apng", ".avif" => "image/avif", ".gif" => "image/gif", ".heic" => "image/heic", ".heif" => "image/heif", ".jp2" => "image/jp2", ".jpeg" => "image/jpeg", ".jpg" => "image/jpeg", ".jxl" => "image/jxl", ".mng" => "video/x-mng", ".pbm" => "image/x-portable-bitmap", ".pgm" => "image/x-portable-graymap", ".png" => "image/png", ".pnm" => "image/x-portable-anymap", ".ppm" => "image/x-portable-pixmap", ".svg" => "image/svg+xml", ".tif" => "image/tiff", ".tiff" => "image/tiff", ".webp" => "image/webp", # Audio ".aac" => "audio/aac", ".ac3" => "audio/ac3", ".aif" => "audio/aiff", ".aiff" => "audio/aiff", ".flac" => "audio/flac", ".m4a" => "audio/mp4", ".mka" => "audio/x-matroska", ".mp2" => "audio/mpeg", ".mp3" => "audio/mpeg", ".oga" => "audio/ogg", ".ogg" => "audio/ogg", ".opus" => "audio/ogg", ".spx" => "audio/ogg", ".wav" => "audio/wav", ".weba" => "audio/webm", ".wv" => "audio/x-wavpack", # Video ".avi" => "video/x-msvideo", ".m4v" => "video/mp4", ".mj2" => "video/mj2", ".mkv" => "video/x-matroska", ".mov" => "video/quicktime", ".mp4" => "video/mp4", ".mpg" => "video/mpeg", ".ogv" => "video/ogg", ".ts" => "video/MP2T", ".webm" => "video/webm", # Playlist ".m3u" => "application/vnd.apple.mpegurl", ".m3u8" => "application/vnd.apple.mpegurl", ".xspf" => "application/xspf+xml", # Subtitles ".ass" => "text/x-ssa", ".srt" => "application/x-subrip", ".ssa" => "text/x-ssa", # Mail ".eml" => "message/rfc822", ".mbox" => "application/mbox", ".mht" => "message/rfc822", # File sharing ".iso" => "application/x-iso9660-image", ".meta4" => "application/metalink4+xml", ".metalink" => "application/metalink+xml", ".torrent" => "application/x-bittorrent", "" => "application/octet-stream" )