Module: Landline::MIME

Defined in:
lib/landline/util/mime.rb

Constant Summary collapse

MIME =
{
  "a2l" => "application/A2L",
  "aml" => "application/AML",
  "ez" => "application/andrew-inset",
  "atf" => "application/ATF",
  "atfx" => "application/ATFX",
  "atxml" => "application/ATXML",
  "atom" => "application/atom+xml",
  "atomcat" => "application/atomcat+xml",
  "atomdeleted" => "application/atomdeleted+xml",
  "atomsvc" => "application/atomsvc+xml",
  "dwd" => "application/atsc-dwd+xml",
  "held" => "application/atsc-held+xml",
  "rsat" => "application/atsc-rsat+xml",
  "apxml" => "application/auth-policy+xml",
  "amlx" => "application/automationml-amlx+zip",
  "xdd" => "application/bacnet-xdd+zip",
  "xcs" => "application/calendar+xml",
  "cbor" => "application/cbor",
  "c3ex" => "application/cccex",
  "ccmp" => "application/ccmp+xml",
  "ccxml" => "application/ccxml+xml",
  "cdfx" => "application/CDFX+XML",
  "cdmia" => "application/cdmi-capability",
  "cdmic" => "application/cdmi-container",
  "cdmid" => "application/cdmi-domain",
  "cdmio" => "application/cdmi-object",
  "cdmiq" => "application/cdmi-queue",
  "cea" => "application/CEA",
  "cellml" => "application/cellml+xml",
  "cml" => "application/cellml+xml",
  "1clr" => "application/clr",
  "clue" => "application/clue_info+xml",
  "cmsc" => "application/cms",
  "cpl" => "application/cpl+xml",
  "csrattrs" => "application/csrattrs",
  "cwl" => "application/cwl",
  "cwl.json" => "application/cwl+json",
  "mpd" => "application/dash+xml",
  "mpdd" => "application/dashdelta",
  "davmount" => "application/davmount+xml",
  "dcd" => "application/DCD",
  "dcm" => "application/dicom",
  "dii" => "application/DII",
  "dit" => "application/DIT",
  "xmls" => "application/dskpp+xml",
  "dssc" => "application/dssc+der",
  "xdssc" => "application/dssc+xml",
  "dvc" => "application/dvcs",
  "es" => "application/ecmascript",
  "efi" => "application/efi",
  "emma" => "application/emma+xml",
  "emotionml" => "application/emotionml+xml",
  "epub" => "application/epub+zip",
  "exi" => "application/exi",
  "exp" => "application/express",
  "finf" => "application/fastinfoset",
  "fdt" => "application/fdt+xml",
  "pfr" => "application/font-tdpfr",
  "geojson" => "application/geo+json",
  "gpkg" => "application/geopackage+sqlite3",
  "glbin" => "application/gltf-buffer",
  "glbuf" => "application/gltf-buffer",
  "gml" => "application/gml+xml",
  "gz" => "application/gzip",
  "tgz" => "application/gzip",
  "stk" => "application/hyperstudio",
  "ink" => "application/inkml+xml",
  "inkml" => "application/inkml+xml",
  "ipfix" => "application/ipfix",
  "its" => "application/its+xml",
  "jar" => "application/java-archive",
  "jrd" => "application/jrd+json",
  "json" => "application/json",
  "json-patch" => "application/json-patch+json",
  "jsonld" => "application/ld+json",
  "lgr" => "application/lgr+xml",
  "wlnk" => "application/link-format",
  "lostxml" => "application/lost+xml",
  "lostsyncxml" => "application/lostsync+xml",
  "lpf" => "application/lpf+zip",
  "lxf" => "application/LXF",
  "hqx" => "application/mac-binhex40",
  "mads" => "application/mads+xml",
  "webmanifest" => "application/manifest+json",
  "mrc" => "application/marc",
  "mrcx" => "application/marcxml+xml",
  "nb" => "application/mathematica",
  "ma" => "application/mathematica",
  "mb" => "application/mathematica",
  "mml" => "application/mathml+xml",
  "mbox" => "application/mbox",
  "meta4" => "application/metalink4+xml",
  "mets" => "application/mets+xml",
  "mf4" => "application/MF4",
  "h5" => "application/mipc",
  "maei" => "application/mmt-aei+xml",
  "musd" => "application/mmt-usd+xml",
  "mods" => "application/mods+xml",
  "m21" => "application/mp21",
  "mp21" => "application/mp21",
  "doc" => "application/msword",
  "mxf" => "application/mxf",
  "nq" => "application/n-quads",
  "nt" => "application/n-triples",
  "orq" => "application/ocsp-request",
  "ors" => "application/ocsp-response",
  "bin" => "application/octet-stream",
  "lha" => "application/octet-stream",
  "lzh" => "application/octet-stream",
  "exe" => "application/octet-stream",
  "class" => "application/octet-stream",
  "so" => "application/octet-stream",
  "dll" => "application/octet-stream",
  "img" => "application/octet-stream",
  "iso" => "application/octet-stream",
  "oda" => "application/ODA",
  "odx" => "application/ODX",
  "opf" => "application/oebps-package+xml",
  "ogx" => "application/ogg",
  "oxps" => "application/oxps",
  "p21" => "application/p21",
  "stp" => "application/p21",
  "step" => "application/p21",
  "stpnc" => "application/p21",
  "210" => "application/p21",
  "ifc" => "application/p21",
  "stpz" => "application/p21+zip",
  "relo" => "application/p2p-overlay+xml",
  "pdf" => "application/pdf",
  "pdx" => "application/PDX",
  "pem" => "application/pem-certificate-chain",
  "pgp" => "application/pgp-encrypted",
  "sig" => "application/pgp-signature",
  "p10" => "application/pkcs10",
  "p12" => "application/pkcs12",
  "pfx" => "application/pkcs12",
  "p7m" => "application/pkcs7-mime",
  "p7c" => "application/pkcs7-mime",
  "p7s" => "application/pkcs7-signature",
  "p8" => "application/pkcs8",
  "p8e" => "application/pkcs8-encrypted",
  "cer" => "application/pkix-cert",
  "crl" => "application/pkix-crl",
  "pkipath" => "application/pkix-pkipath",
  "pki" => "application/pkixcmp",
  "pls" => "application/pls+xml",
  "ps" => "application/postscript",
  "eps" => "application/postscript",
  "ai" => "application/postscript",
  "provx" => "application/provenance+xml",
  "pskcxml" => "application/pskc+xml",
  "rdf" => "application/rdf+xml",
  "rapd" => "application/route-apd+xml",
  "sls" => "application/route-s-tsid+xml",
  "rusd" => "application/route-usd+xml",
  "rif" => "application/reginfo+xml",
  "rnc" => "application/relax-ng-compact-syntax",
  "rld" => "application/resource-lists-diff+xml",
  "rl" => "application/resource-lists+xml",
  "rfcxml" => "application/rfc+xml",
  "rs" => "application/rls-services+xml",
  "gbr" => "application/rpki-ghostbusters",
  "mft" => "application/rpki-manifest",
  "roa" => "application/rpki-roa",
  "rtf" => "application/rtf",
  "sarif-external-properties" => "application/sarif-external-properties+json",
  "sarif-external-properties.json" =>
  "application/sarif-external-properties+json",
  "sarif" => "application/sarif+json",
  "sarif.json" => "application/sarif+json",
  "scim" => "application/scim+json",
  "scq" => "application/scvp-cv-request",
  "scs" => "application/scvp-cv-response",
  "spq" => "application/scvp-vp-request",
  "spp" => "application/scvp-vp-response",
  "sdp" => "application/sdp",
  "senml-etchc" => "application/senml-etch+cbor",
  "senml-etchj" => "application/senml-etch+json",
  "senmlc" => "application/senml+cbor",
  "senml" => "application/senml+json",
  "senmlx" => "application/senml+xml",
  "senmle" => "application/senml-exi",
  "sensmlc" => "application/sensml+cbor",
  "sensml" => "application/sensml+json",
  "sensmlx" => "application/sensml+xml",
  "sensmle" => "application/sensml-exi",
  "soc" => "application/sgml-open-catalog",
  "shf" => "application/shf+xml",
  "siv" => "application/sieve",
  "sieve" => "application/sieve",
  "cl" => "application/simple-filter+xml",
  "smil" => "application/smil+xml",
  "smi" => "application/smil+xml",
  "sml" => "application/smil+xml",
  "rq" => "application/sparql-query",
  "spdx.json" => "application/spdx+json",
  "srx" => "application/sparql-results+xml",
  "sql" => "application/sql",
  "gram" => "application/srgs",
  "grxml" => "application/srgs+xml",
  "sru" => "application/sru+xml",
  "ssml" => "application/ssml+xml",
  "stix" => "application/stix+json",
  "coswid" => "application/swid+cbor",
  "swidtag" => "application/swid+xml",
  "tau" => "application/tamp-apex-update",
  "auc" => "application/tamp-apex-update-confirm",
  "tcu" => "application/tamp-community-update",
  "cuc" => "application/tamp-community-update-confirm",
  "jsontd" => "application/td+json",
  "ter" => "application/tamp-error",
  "tsa" => "application/tamp-sequence-adjust",
  "sac" => "application/tamp-sequence-adjust-confirm",
  "tur" => "application/tamp-update",
  "tuc" => "application/tamp-update-confirm",
  "tei" => "application/tei+xml",
  "teiCorpus" => "application/tei+xml",
  "odd" => "application/tei+xml",
  "tfi" => "application/thraud+xml",
  "tsq" => "application/timestamp-query",
  "tsr" => "application/timestamp-reply",
  "tsd" => "application/timestamped-data",
  "jsontm" => "application/tm+json",
  "tm.json" => "application/tm+json",
  "tm.jsonld" => "application/tm+json",
  "trig" => "application/trig",
  "ttml" => "application/ttml+xml",
  "gsheet" => "application/urc-grpsheet+xml",
  "rsheet" => "application/urc-ressheet+xml",
  "td" => "application/urc-targetdesc+xml",
  "uis" => "application/urc-uisocketdesc+xml",
  "1km" => "application/vnd.1000minds.decision-model+xml",
  "ob" => "application/vnd.1ob",
  "plb" => "application/vnd.3gpp.pic-bw-large",
  "psb" => "application/vnd.3gpp.pic-bw-small",
  "pvb" => "application/vnd.3gpp.pic-bw-var",
  "sms" => "application/vnd.3gpp2.sms",
  "tcap" => "application/vnd.3gpp2.tcap",
  "imgcal" => "application/vnd.3lightssoftware.imagescal",
  "pwn" => "application/vnd.3M.Post-it-Notes",
  "aso" => "application/vnd.accpac.simply.aso",
  "imp" => "application/vnd.accpac.simply.imp",
  "acu" => "application/vnd.acucobol",
  "atc" => "application/vnd.acucorp",
  "acutc" => "application/vnd.acucorp",
  "swf" => "application/vnd.adobe.flash.movie",
  "fcdt" => "application/vnd.adobe.formscentral.fcdt",
  "fxp" => "application/vnd.adobe.fxp",
  "fxpl" => "application/vnd.adobe.fxp",
  "xdp" => "application/vnd.adobe.xdp+xml",
  "list3820" => "application/vnd.afpc.modca",
  "listafp" => "application/vnd.afpc.modca",
  "afp" => "application/vnd.afpc.modca",
  "pseg3820" => "application/vnd.afpc.modca",
  "ovl" => "application/vnd.afpc.modca-overlay",
  "psg" => "application/vnd.afpc.modca-pagesegment",
  "age" => "application/vnd.age",
  "ahead" => "application/vnd.ahead.space",
  "azf" => "application/vnd.airzip.filesecure.azf",
  "azs" => "application/vnd.airzip.filesecure.azs",
  "azw3" => "application/vnd.amazon.mobi8-ebook",
  "acc" => "application/vnd.americandynamics.acc",
  "ami" => "application/vnd.amiga.ami",
  "ota" => "application/vnd.android.ota",
  "apkg" => "application/vnd.anki",
  "cii" => "application/vnd.anser-web-certificate-issue-initiation",
  "fti" => "application/vnd.anser-web-funds-transfer-initiation",
  "arrow" => "application/vnd.apache.arrow.file",
  "arrows" => "application/vnd.apache.arrow.stream",
  "apexland" => "application/vnd.apexlang",
  "apex" => "application/vnd.apexlang",
  "axdl" => "application/vnd.apexlang",
  "dist" => "application/vnd.apple.installer+xml",
  "distz" => "application/vnd.apple.installer+xml",
  "pkg" => "application/vnd.apple.installer+xml",
  "mpkg" => "application/vnd.apple.installer+xml",
  "keynote" => "application/vnd.apple.keynote",
  "m3u8" => "application/vnd.apple.mpegurl",
  "numbers" => "application/vnd.apple.numbers",
  "pages" => "application/vnd.apple.pages",
  "swi" => "application/vnd.aristanetworks.swi",
  "artisan" => "application/vnd.artisan+json",
  "iota" => "application/vnd.astraea-software.iota",
  "aep" => "application/vnd.audiograph",
  "package" => "application/vnd.autopackage",
  "bmml" => "application/vnd.balsamiq.bmml+xml",
  "ac2" => "application/vnd.banana-accounting",
  "bmpr" => "application/vnd.balsamiq.bmpr",
  "lhzd" => "application/vnd.belightsoft.lhzd+zip",
  "lhzl" => "application/vnd.belightsoft.lhzl+zip",
  "mpm" => "application/vnd.blueice.multipass",
  "ep" => "application/vnd.bluetooth.ep.oob",
  "le" => "application/vnd.bluetooth.le.oob",
  "bmi" => "application/vnd.bmi",
  "rep" => "application/vnd.businessobjects",
  "tlclient" => "application/vnd.cendio.thinlinc.clientconf",
  "cdxml" => "application/vnd.chemdraw+xml",
  "pgn" => "application/vnd.chess-pgn",
  "mmd" => "application/vnd.chipnuts.karaoke-mmd",
  "cdy" => "application/vnd.cinderella",
  "csl" => "application/vnd.citationstyles.style+xml",
  "cla" => "application/vnd.claymore",
  "rp9" => "application/vnd.cloanto.rp9",
  "c4g" => "application/vnd.clonk.c4group",
  "c4d" => "application/vnd.clonk.c4group",
  "c4f" => "application/vnd.clonk.c4group",
  "c4p" => "application/vnd.clonk.c4group",
  "c4u" => "application/vnd.clonk.c4group",
  "c11amc" => "application/vnd.cluetrust.cartomobile-config",
  "c11amz" => "application/vnd.cluetrust.cartomobile-config-pkg",
  "coffee" => "application/vnd.coffeescript",
  "xodt" => "application/vnd.collabio.xodocuments.document",
  "xott" => "application/vnd.collabio.xodocuments.document-template",
  "xodp" => "application/vnd.collabio.xodocuments.presentation",
  "xotp" => "application/vnd.collabio.xodocuments.presentation-template",
  "xods" => "application/vnd.collabio.xodocuments.spreadsheet",
  "xots" => "application/vnd.collabio.xodocuments.spreadsheet-template",
  "cbr" => "application/vnd.comicbook-rar",
  "cbz" => "application/vnd.comicbook+zip",
  "ica" => "application/vnd.commerce-battelle",
  "icf" => "application/vnd.commerce-battelle",
  "icd" => "application/vnd.commerce-battelle",
  "ic0" => "application/vnd.commerce-battelle",
  "ic1" => "application/vnd.commerce-battelle",
  "ic2" => "application/vnd.commerce-battelle",
  "ic3" => "application/vnd.commerce-battelle",
  "ic4" => "application/vnd.commerce-battelle",
  "ic5" => "application/vnd.commerce-battelle",
  "ic6" => "application/vnd.commerce-battelle",
  "ic7" => "application/vnd.commerce-battelle",
  "ic8" => "application/vnd.commerce-battelle",
  "csp" => "application/vnd.commonspace",
  "cst" => "application/vnd.commonspace",
  "cdbcmsg" => "application/vnd.contact.cmsg",
  "ign" => "application/vnd.coreos.ignition+json",
  "ignition" => "application/vnd.coreos.ignition+json",
  "cmc" => "application/vnd.cosmocaller",
  "clkx" => "application/vnd.crick.clicker",
  "clkk" => "application/vnd.crick.clicker.keyboard",
  "clkp" => "application/vnd.crick.clicker.palette",
  "clkt" => "application/vnd.crick.clicker.template",
  "clkw" => "application/vnd.crick.clicker.wordbank",
  "wbs" => "application/vnd.criticaltools.wbs+xml",
  "ssvc" => "application/vnd.crypto-shade-file",
  "c9r" => "application/vnd.cryptomator.encrypted",
  "c9s" => "application/vnd.cryptomator.encrypted",
  "cryptomator" => "application/vnd.cryptomator.vault",
  "pml" => "application/vnd.ctc-posml",
  "ppd" => "application/vnd.cups-ppd",
  "curl" => "application/vnd.curl",
  "dart" => "application/vnd.dart",
  "rdz" => "application/vnd.data-vision.rdz",
  "dl" => "application/vnd.datalog",
  "dbf" => "application/vnd.dbf",
  "deb" => "application/vnd.debian.binary-package",
  "udeb" => "application/vnd.debian.binary-package",
  "uvf" => "application/vnd.dece.data",
  "uvvf" => "application/vnd.dece.data",
  "uvd" => "application/vnd.dece.data",
  "uvvd" => "application/vnd.dece.data",
  "uvt" => "application/vnd.dece.ttml+xml",
  "uvvt" => "application/vnd.dece.ttml+xml",
  "uvx" => "application/vnd.dece.unspecified",
  "uvvx" => "application/vnd.dece.unspecified",
  "uvz" => "application/vnd.dece.zip",
  "uvvz" => "application/vnd.dece.zip",
  "fe_launch" => "application/vnd.denovo.fcselayout-link",
  "dsm" => "application/vnd.desmume.movie",
  "dna" => "application/vnd.dna",
  "docjson" => "application/vnd.document+json",
  "scld" => "application/vnd.doremir.scorecloud-binary-document",
  "dpg" => "application/vnd.dpgraph",
  "mwc" => "application/vnd.dpgraph",
  "dpgraph" => "application/vnd.dpgraph",
  "dfac" => "application/vnd.dreamfactory",
  "fla" => "application/vnd.dtg.local.flash",
  "ait" => "application/vnd.dvb.ait",
  "svc" => "application/vnd.dvb.service",
  "geo" => "application/vnd.dynageo",
  "dzr" => "application/vnd.dzr",
  "mag" => "application/vnd.ecowin.chart",
  "eln" => "application/vnd.eln+zip",
  "nml" => "application/vnd.enliven",
  "esf" => "application/vnd.epson.esf",
  "msf" => "application/vnd.epson.msf",
  "qam" => "application/vnd.epson.quickanime",
  "slt" => "application/vnd.epson.salt",
  "ssf" => "application/vnd.epson.ssf",
  "qcall" => "application/vnd.ericsson.quickcall",
  "qca" => "application/vnd.ericsson.quickcall",
  "espass" => "application/vnd.espass-espass+zip",
  "es3" => "application/vnd.eszigno3+xml",
  "et3" => "application/vnd.eszigno3+xml",
  "asice" => "application/vnd.etsi.asic-e+zip",
  "sce" => "application/vnd.etsi.asic-e+zip",
  "asics" => "application/vnd.etsi.asic-s+zip",
  "tst" => "application/vnd.etsi.timestamp-token",
  "carjson" => "application/vnd.eu.kasparian.car+json",
  "mpw" => "application/vnd.exstream-empower+zip",
  "pub" => "application/vnd.exstream-package",
  "ecigprofile" => "application/vnd.evolv.ecig.profile",
  "ecig" => "application/vnd.evolv.ecig.settings",
  "ecigtheme" => "application/vnd.evolv.ecig.theme",
  "ez2" => "application/vnd.ezpix-album",
  "ez3" => "application/vnd.ezpix-package",
  "dim" => "application/vnd.fastcopy-disk-image",
  "gdz" => "application/vnd.familysearch.gedcom+zip",
  "fdf" => "application/vnd.fdf",
  "msd" => "application/vnd.fdsn.mseed",
  "mseed" => "application/vnd.fdsn.mseed",
  "seed" => "application/vnd.fdsn.seed",
  "dataless" => "application/vnd.fdsn.seed",
  "flb" => "application/vnd.ficlab.flb+zip",
  "zfc" => "application/vnd.filmit.zfc",
  "gph" => "application/vnd.FloGraphIt",
  "ftc" => "application/vnd.fluxtime.clip",
  "sfd" => "application/vnd.font-fontforge-sfd",
  "fm" => "application/vnd.framemaker",
  "fnc" => "application/vnd.frogans.fnc",
  "ltf" => "application/vnd.frogans.ltf",
  "fsc" => "application/vnd.fsc.weblaunch",
  "oas" => "application/vnd.fujitsu.oasys",
  "oa2" => "application/vnd.fujitsu.oasys2",
  "oa3" => "application/vnd.fujitsu.oasys3",
  "fg5" => "application/vnd.fujitsu.oasysgp",
  "bh2" => "application/vnd.fujitsu.oasysprs",
  "ddd" => "application/vnd.fujixerox.ddd",
  "xdw" => "application/vnd.fujixerox.docuworks",
  "xbd" => "application/vnd.fujixerox.docuworks.binder",
  "xct" => "application/vnd.fujixerox.docuworks.container",
  "fzs" => "application/vnd.fuzzysheet",
  "txd" => "application/vnd.genomatix.tuxedo",
  "genozip" => "application/vnd.genozip",
  "ebuild" => "application/vnd.gentoo.ebuild",
  "eclass" => "application/vnd.gentoo.eclass",
  "gpkg.tar" => "application/vnd.gentoo.gpkg",
  "tbz2" => "application/vnd.gentoo.xpak",
  "xpak" => "application/vnd.gentoo.xpak",
  "g3" => "application/vnd.geocube+xml",
  "" => "application/vnd.geocube+xml",
  "ggb" => "application/vnd.geogebra.file",
  "ggs" => "application/vnd.geogebra.slides",
  "ggt" => "application/vnd.geogebra.tool",
  "gex" => "application/vnd.geometry-explorer",
  "gre" => "application/vnd.geometry-explorer",
  "gxt" => "application/vnd.geonext",
  "g2w" => "application/vnd.geoplan",
  "g3w" => "application/vnd.geospace",
  "gmx" => "application/vnd.gmx",
  "kml" => "application/vnd.google-earth.kml+xml",
  "kmz" => "application/vnd.google-earth.kmz",
  "gqf" => "application/vnd.grafeq",
  "gqs" => "application/vnd.grafeq",
  "gac" => "application/vnd.groove-account",
  "ghf" => "application/vnd.groove-help",
  "gim" => "application/vnd.groove-identity-message",
  "grv" => "application/vnd.groove-injector",
  "gtm" => "application/vnd.groove-tool-message",
  "tpl" => "application/vnd.groove-tool-template",
  "vcg" => "application/vnd.groove-vcard",
  "hal" => "application/vnd.hal+xml",
  "zmm" => "application/vnd.HandHeld-Entertainment+xml",
  "hbci" => "application/vnd.hbci",
  "hbc" => "application/vnd.hbci",
  "kom" => "application/vnd.hbci",
  "upa" => "application/vnd.hbci",
  "pkd" => "application/vnd.hbci",
  "bpd" => "application/vnd.hbci",
  "hdt" => "application/vnd.hdt",
  "les" => "application/vnd.hhe.lesson-player",
  "hpgl" => "application/vnd.hp-HPGL",
  "hpi" => "application/vnd.hp-hpid",
  "hpid" => "application/vnd.hp-hpid",
  "hps" => "application/vnd.hp-hps",
  "jlt" => "application/vnd.hp-jlyt",
  "pcl" => "application/vnd.hp-PCL",
  "hsl" => "application/vnd.hsl",
  "sfd-hdstx" => "application/vnd.hydrostatix.sof-data",
  "x3d" => "application/vnd.hzn-3d-crossword",
  "emm" => "application/vnd.ibm.electronic-media",
  "mpy" => "application/vnd.ibm.MiniPay",
  "irm" => "application/vnd.ibm.rights-management",
  "sc" => "application/vnd.ibm.secure-container",
  "icc" => "application/vnd.iccprofile",
  "icm" => "application/vnd.iccprofile",
  "1905.1" => "application/vnd.ieee.1905",
  "igl" => "application/vnd.igloader",
  "imf" => "application/vnd.imagemeter.folder+zip",
  "imi" => "application/vnd.imagemeter.image+zip",
  "ivp" => "application/vnd.immervision-ivp",
  "ivu" => "application/vnd.immervision-ivu",
  "imscc" => "application/vnd.ims.imsccv1p1",
  "igm" => "application/vnd.insors.igm",
  "xpw" => "application/vnd.intercon.formnet",
  "xpx" => "application/vnd.intercon.formnet",
  "i2g" => "application/vnd.intergeo",
  "qbo" => "application/vnd.intu.qbo",
  "qfx" => "application/vnd.intu.qfx",
  "car" => "application/vnd.ipld.car",
  "rcprofile" => "application/vnd.ipunplugged.rcprofile",
  "irp" => "application/vnd.irepository.package+xml",
  "xpr" => "application/vnd.is-xpr",
  "fcs" => "application/vnd.isac.fcs",
  "jam" => "application/vnd.jam",
  "rms" => "application/vnd.jcp.javame.midlet-rms",
  "jisp" => "application/vnd.jisp",
  "joda" => "application/vnd.joost.joda-archive",
  "ktz" => "application/vnd.kahootz",
  "ktr" => "application/vnd.kahootz",
  "karbon" => "application/vnd.kde.karbon",
  "chrt" => "application/vnd.kde.kchart",
  "kfo" => "application/vnd.kde.kformula",
  "flw" => "application/vnd.kde.kivio",
  "kon" => "application/vnd.kde.kontour",
  "kpr" => "application/vnd.kde.kpresenter",
  "kpt" => "application/vnd.kde.kpresenter",
  "ksp" => "application/vnd.kde.kspread",
  "kwd" => "application/vnd.kde.kword",
  "kwt" => "application/vnd.kde.kword",
  "htke" => "application/vnd.kenameaapp",
  "kia" => "application/vnd.kidspiration",
  "kne" => "application/vnd.Kinar",
  "knp" => "application/vnd.Kinar",
  "sdf" => "application/vnd.Kinar",
  "skp" => "application/vnd.koan",
  "skd" => "application/vnd.koan",
  "skm" => "application/vnd.koan",
  "skt" => "application/vnd.koan",
  "sse" => "application/vnd.kodak-descriptor",
  "las" => "application/vnd.las",
  "lasjson" => "application/vnd.las.las+json",
  "lasxml" => "application/vnd.las.las+xml",
  "lbd" => "application/vnd.llamagraphics.life-balance.desktop",
  "lbe" => "application/vnd.llamagraphics.life-balance.exchange+xml",
  "lcs" => "application/vnd.logipipe.circuit+zip",
  "lca" => "application/vnd.logipipe.circuit+zip",
  "loom" => "application/vnd.loom",
  "123" => "application/vnd.lotus-1-2-3",
  "wk4" => "application/vnd.lotus-1-2-3",
  "wk3" => "application/vnd.lotus-1-2-3",
  "wk1" => "application/vnd.lotus-1-2-3",
  "apr" => "application/vnd.lotus-approach",
  "vew" => "application/vnd.lotus-approach",
  "prz" => "application/vnd.lotus-freelance",
  "pre" => "application/vnd.lotus-freelance",
  "nsf" => "application/vnd.lotus-notes",
  "ntf" => "application/vnd.lotus-notes",
  "ndl" => "application/vnd.lotus-notes",
  "ns4" => "application/vnd.lotus-notes",
  "ns3" => "application/vnd.lotus-notes",
  "ns2" => "application/vnd.lotus-notes",
  "nsh" => "application/vnd.lotus-notes",
  "nsg" => "application/vnd.lotus-notes",
  "or3" => "application/vnd.lotus-organizer",
  "or2" => "application/vnd.lotus-organizer",
  "org" => "application/vnd.lotus-organizer",
  "scm" => "application/vnd.lotus-screencam",
  "lwp" => "application/vnd.lotus-wordpro",
  "sam" => "application/vnd.lotus-wordpro",
  "portpkg" => "application/vnd.macports.portpkg",
  "mvt" => "application/vnd.mapbox-vector-tile",
  "mdc" => "application/vnd.marlin.drm.mdcf",
  "3tz" => "application/vnd.maxar.archive.3tz+zip",
  "mmdb" => "application/vnd.maxmind.maxmind-db",
  "mcd" => "application/vnd.mcd",
  "mdl" => "application/vnd.mdl",
  "mbsdf" => "application/vnd.mdl-mbsdf",
  "mc1" => "application/vnd.medcalcdata",
  "cdkey" => "application/vnd.mediastation.cdkey",
  "rxr" => "application/vnd.medicalholodeck.recordxr",
  "mwf" => "application/vnd.MFER",
  "mfm" => "application/vnd.mfmp",
  "flo" => "application/vnd.micrografx.flo",
  "igx" => "application/vnd.micrografx.igx",
  "mif" => "application/vnd.mif",
  "daf" => "application/vnd.Mobius.DAF",
  "dis" => "application/vnd.Mobius.DIS",
  "mbk" => "application/vnd.Mobius.MBK",
  "mqy" => "application/vnd.Mobius.MQY",
  "msl" => "application/vnd.Mobius.MSL",
  "plc" => "application/vnd.Mobius.PLC",
  "txf" => "application/vnd.Mobius.TXF",
  "modl" => "application/vnd.modl",
  "mpn" => "application/vnd.mophun.application",
  "mpc" => "application/vnd.mophun.certificate",
  "xul" => "application/vnd.mozilla.xul+xml",
  "3mf" => "application/vnd.ms-3mfdocument",
  "cil" => "application/vnd.ms-artgalry",
  "asf" => "application/vnd.ms-asf",
  "cab" => "application/vnd.ms-cab-compressed",
  "xls" => "application/vnd.ms-excel",
  "xlm" => "application/vnd.ms-excel",
  "xla" => "application/vnd.ms-excel",
  "xlc" => "application/vnd.ms-excel",
  "xlt" => "application/vnd.ms-excel",
  "xlw" => "application/vnd.ms-excel",
  "xltm" => "application/vnd.ms-excel.template.macroEnabled.12",
  "xlam" => "application/vnd.ms-excel.addin.macroEnabled.12",
  "xlsb" => "application/vnd.ms-excel.sheet.binary.macroEnabled.12",
  "xlsm" => "application/vnd.ms-excel.sheet.macroEnabled.12",
  "eot" => "application/vnd.ms-fontobject",
  "chm" => "application/vnd.ms-htmlhelp",
  "ims" => "application/vnd.ms-ims",
  "lrm" => "application/vnd.ms-lrm",
  "thmx" => "application/vnd.ms-officetheme",
  "ppt" => "application/vnd.ms-powerpoint",
  "pps" => "application/vnd.ms-powerpoint",
  "pot" => "application/vnd.ms-powerpoint",
  "ppam" => "application/vnd.ms-powerpoint.addin.macroEnabled.12",
  "pptm" => "application/vnd.ms-powerpoint.presentation.macroEnabled.12",
  "sldm" => "application/vnd.ms-powerpoint.slide.macroEnabled.12",
  "ppsm" => "application/vnd.ms-powerpoint.slideshow.macroEnabled.12",
  "potm" => "application/vnd.ms-powerpoint.template.macroEnabled.12",
  "mpp" => "application/vnd.ms-project",
  "mpt" => "application/vnd.ms-project",
  "tnef" => "application/vnd.ms-tnef",
  "tnf" => "application/vnd.ms-tnef",
  "docm" => "application/vnd.ms-word.document.macroEnabled.12",
  "dotm" => "application/vnd.ms-word.template.macroEnabled.12",
  "wcm" => "application/vnd.ms-works",
  "wdb" => "application/vnd.ms-works",
  "wks" => "application/vnd.ms-works",
  "wps" => "application/vnd.ms-works",
  "wpl" => "application/vnd.ms-wpl",
  "xps" => "application/vnd.ms-xpsdocument",
  "msa" => "application/vnd.msa-disk-image",
  "mseq" => "application/vnd.mseq",
  "crtr" => "application/vnd.multiad.creator",
  "cif" => "application/vnd.multiad.creator.cif",
  "mus" => "application/vnd.musician",
  "msty" => "application/vnd.muvee.style",
  "taglet" => "application/vnd.mynfc",
  "nebul" => "application/vnd.nebumind.line",
  "line" => "application/vnd.nebumind.line",
  "entity" => "application/vnd.nervana",
  "request" => "application/vnd.nervana",
  "bkm" => "application/vnd.nervana",
  "kcm" => "application/vnd.nervana",
  "nimn" => "application/vnd.nimn",
  "nitf" => "application/vnd.nitf",
  "nlu" => "application/vnd.neurolanguage.nlu",
  "nds" => "application/vnd.nintendo.nitro.rom",
  "sfc" => "application/vnd.nintendo.snes.rom",
  "smc" => "application/vnd.nintendo.snes.rom",
  "nnd" => "application/vnd.noblenet-directory",
  "nns" => "application/vnd.noblenet-sealer",
  "nnw" => "application/vnd.noblenet-web",
  "ac" => "application/vnd.nokia.n-gage.ac+xml",
  "ngdat" => "application/vnd.nokia.n-gage.data",
  "n-gage" => "application/vnd.nokia.n-gage.symbian.install",
  "rpst" => "application/vnd.nokia.radio-preset",
  "rpss" => "application/vnd.nokia.radio-presets",
  "edm" => "application/vnd.novadigm.EDM",
  "edx" => "application/vnd.novadigm.EDX",
  "ext" => "application/vnd.novadigm.EXT",
  "odb" => "application/vnd.oasis.opendocument.base",
  "odc" => "application/vnd.oasis.opendocument.chart",
  "otc" => "application/vnd.oasis.opendocument.chart-template",
  "odf" => "application/vnd.oasis.opendocument.formula",
  "odg" => "application/vnd.oasis.opendocument.graphics",
  "otg" => "application/vnd.oasis.opendocument.graphics-template",
  "odi" => "application/vnd.oasis.opendocument.image",
  "oti" => "application/vnd.oasis.opendocument.image-template",
  "odp" => "application/vnd.oasis.opendocument.presentation",
  "otp" => "application/vnd.oasis.opendocument.presentation-template",
  "ods" => "application/vnd.oasis.opendocument.spreadsheet",
  "ots" => "application/vnd.oasis.opendocument.spreadsheet-template",
  "odt" => "application/vnd.oasis.opendocument.text",
  "odm" => "application/vnd.oasis.opendocument.text-master",
  "otm" => "application/vnd.oasis.opendocument.text-master-template",
  "ott" => "application/vnd.oasis.opendocument.text-template",
  "oth" => "application/vnd.oasis.opendocument.text-web",
  "xo" => "application/vnd.olpc-sugar",
  "dd2" => "application/vnd.oma.dd2+xml",
  "tam" => "application/vnd.onepager",
  "tamp" => "application/vnd.onepagertamp",
  "tamx" => "application/vnd.onepagertamx",
  "tat" => "application/vnd.onepagertat",
  "tatp" => "application/vnd.onepagertatp",
  "tatx" => "application/vnd.onepagertatx",
  "obgx" => "application/vnd.openblox.game+xml",
  "obg" => "application/vnd.openblox.game-binary",
  "oeb" => "application/vnd.openeye.oeb",
  "oxt" => "application/vnd.openofficeorg.extension",
  "osm" => "application/vnd.openstreetmap.data+xml",
  "pptx" =>
  "application/vnd.openxmlformats-officedocument.presentationml.presentation",
  "sldx" => "application/vnd.openxmlformats-officedocument.presentationml.slide",
  "ppsx" =>
  "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
  "potx" =>
  "application/vnd.openxmlformats-officedocument.presentationml.template",
  "xlsx" => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
  "xltx" =>
  "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
  "docx" =>
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
  "dotx" =>
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
  "ndc" => "application/vnd.osa.netdeploy",
  "mgp" => "application/vnd.osgeo.mapguide.package",
  "dp" => "application/vnd.osgi.dp",
  "esa" => "application/vnd.osgi.subsystem",
  "oxlicg" => "application/vnd.oxli.countgraph",
  "prc" => "application/vnd.palm",
  "pdb" => "application/vnd.palm",
  "pqa" => "application/vnd.palm",
  "oprc" => "application/vnd.palm",
  "plp" => "application/vnd.panoply",
  "dive" => "application/vnd.patentdive",
  "paw" => "application/vnd.pawaafile",
  "str" => "application/vnd.pg.format",
  "ei6" => "application/vnd.pg.osasli",
  "pil" => "application/vnd.piaccess.application-licence",
  "efif" => "application/vnd.picsel",
  "wg" => "application/vnd.pmi.widget",
  "plf" => "application/vnd.pocketlearn",
  "pbd" => "application/vnd.powerbuilder6",
  "preminet" => "application/vnd.preminet",
  "box" => "application/vnd.previewsystems.box",
  "vbox" => "application/vnd.previewsystems.box",
  "mgz" => "application/vnd.proteus.magazine",
  "psfs" => "application/vnd.psfs",
  "qps" => "application/vnd.publishare-delta-tree",
  "ptid" => "application/vnd.pvi.ptid1",
  "bar" => "application/vnd.qualcomm.brew-app-res",
  "qxd" => "application/vnd.Quark.QuarkXPress",
  "qxt" => "application/vnd.Quark.QuarkXPress",
  "qwd" => "application/vnd.Quark.QuarkXPress",
  "qwt" => "application/vnd.Quark.QuarkXPress",
  "qxl" => "application/vnd.Quark.QuarkXPress",
  "qxb" => "application/vnd.Quark.QuarkXPress",
  "quox" => "application/vnd.quobject-quoxdocument",
  "quiz" => "application/vnd.quobject-quoxdocument",
  "tree" => "application/vnd.rainstor.data",
  "rar" => "application/vnd.rar",
  "bed" => "application/vnd.realvnc.bed",
  "mxl" => "application/vnd.recordare.musicxml",
  "rlm" => "application/vnd.resilient.logic",
  "reload" => "application/vnd.resilient.logic",
  "cryptonote" => "application/vnd.rig.cryptonote",
  "link66" => "application/vnd.route66.link66+xml",
  "st" => "application/vnd.sailingtracker.track",
  "SAR" => "application/vnd.sar",
  "scd" => "application/vnd.scribus",
  "sla" => "application/vnd.scribus",
  "slaz" => "application/vnd.scribus",
  "s3df" => "application/vnd.sealed.3df",
  "scsf" => "application/vnd.sealed.csf",
  "sdoc" => "application/vnd.sealed.doc",
  "sdo" => "application/vnd.sealed.doc",
  "s1w" => "application/vnd.sealed.doc",
  "seml" => "application/vnd.sealed.eml",
  "sem" => "application/vnd.sealed.eml",
  "smht" => "application/vnd.sealed.mht",
  "smh" => "application/vnd.sealed.mht",
  "sppt" => "application/vnd.sealed.ppt",
  "s1p" => "application/vnd.sealed.ppt",
  "stif" => "application/vnd.sealed.tiff",
  "sxls" => "application/vnd.sealed.xls",
  "sxl" => "application/vnd.sealed.xls",
  "s1e" => "application/vnd.sealed.xls",
  "stml" => "application/vnd.sealedmedia.softseal.html",
  "s1h" => "application/vnd.sealedmedia.softseal.html",
  "spdf" => "application/vnd.sealedmedia.softseal.pdf",
  "spd" => "application/vnd.sealedmedia.softseal.pdf",
  "s1a" => "application/vnd.sealedmedia.softseal.pdf",
  "see" => "application/vnd.seemail",
  "sema" => "application/vnd.sema",
  "semd" => "application/vnd.semd",
  "semf" => "application/vnd.semf",
  "ssv" => "application/vnd.shade-save-file",
  "ifm" => "application/vnd.shana.informed.formdata",
  "itp" => "application/vnd.shana.informed.formtemplate",
  "iif" => "application/vnd.shana.informed.interchange",
  "ipk" => "application/vnd.shana.informed.package",
  "shp" => "application/vnd.shp",
  "shx" => "application/vnd.shx",
  "sr" => "application/vnd.sigrok.session",
  "twd" => "application/vnd.SimTech-MindMapper",
  "twds" => "application/vnd.SimTech-MindMapper",
  "mmf" => "application/vnd.smaf",
  "notebook" => "application/vnd.smart.notebook",
  "teacher" => "application/vnd.smart.teacher",
  "sipa" => "application/vnd.smintio.portals.archive",
  "ptrom" => "application/vnd.snesdev-page-table",
  "pt" => "application/vnd.snesdev-page-table",
  "fo" => "application/vnd.software602.filler.form+xml",
  "zfo" => "application/vnd.software602.filler.form-xml-zip",
  "sdkm" => "application/vnd.solent.sdkm+xml",
  "sdkd" => "application/vnd.solent.sdkm+xml",
  "dxp" => "application/vnd.spotfire.dxp",
  "sfs" => "application/vnd.spotfire.sfs",
  "sqlite" => "application/vnd.sqlite3",
  "sqlite3" => "application/vnd.sqlite3",
  "smzip" => "application/vnd.stepmania.package",
  "sm" => "application/vnd.stepmania.stepchart",
  "wadl" => "application/vnd.sun.wadl+xml",
  "sus" => "application/vnd.sus-calendar",
  "susp" => "application/vnd.sus-calendar",
  "ml2" => "application/vnd.sybyl.mol2",
  "mol2" => "application/vnd.sybyl.mol2",
  "sy2" => "application/vnd.sybyl.mol2",
  "scl" => "application/vnd.sycle+xml",
  "syft.json" => "application/vnd.syft+json",
  "xsm" => "application/vnd.syncml+xml",
  "bdm" => "application/vnd.syncml.dm+wbxml",
  "xdm" => "application/vnd.syncml.dm+xml",
  "ddf" => "application/vnd.syncml.dmddf+xml",
  "tao" => "application/vnd.tao.intent-module-archive",
  "pcap" => "application/vnd.tcpdump.pcap",
  "cap" => "application/vnd.tcpdump.pcap",
  "dmp" => "application/vnd.tcpdump.pcap",
  "qvd" => "application/vnd.theqvd",
  "ppttc" => "application/vnd.think-cell.ppttc+json",
  "vfr" => "application/vnd.tml",
  "viaframe" => "application/vnd.tml",
  "tmo" => "application/vnd.tmobile-livetv",
  "tpt" => "application/vnd.trid.tpt",
  "mxs" => "application/vnd.triscape.mxs",
  "tra" => "application/vnd.trueapp",
  "ufdl" => "application/vnd.ufdl",
  "ufd" => "application/vnd.ufdl",
  "frm" => "application/vnd.ufdl",
  "utz" => "application/vnd.uiq.theme",
  "umj" => "application/vnd.umajin",
  "unityweb" => "application/vnd.unity",
  "uoml" => "application/vnd.uoml+xml",
  "uo" => "application/vnd.uoml+xml",
  "urim" => "application/vnd.uri-map",
  "urimap" => "application/vnd.uri-map",
  "vmt" => "application/vnd.valve.source.material",
  "vcx" => "application/vnd.vcx",
  "mxi" => "application/vnd.vd-study",
  "study-inter" => "application/vnd.vd-study",
  "model-inter" => "application/vnd.vd-study",
  "vwx" => "application/vnd.vectorworks",
  "aion" => "application/vnd.veritone.aion+json",
  "vtnstd" => "application/vnd.veritone.aion+json",
  "istc" => "application/vnd.veryant.thin",
  "isws" => "application/vnd.veryant.thin",
  "VES" => "application/vnd.ves.encrypted",
  "vsc" => "application/vnd.vidsoft.vidconference",
  "vsd" => "application/vnd.visio",
  "vst" => "application/vnd.visio",
  "vsw" => "application/vnd.visio",
  "vss" => "application/vnd.visio",
  "vis" => "application/vnd.visionary",
  "vsf" => "application/vnd.vsf",
  "sic" => "application/vnd.wap.sic",
  "slc" => "application/vnd.wap.slc",
  "wbxml" => "application/vnd.wap.wbxml",
  "wmlc" => "application/vnd.wap.wmlc",
  "wmlsc" => "application/vnd.wap.wmlscriptc",
  "wafl" => "application/vnd.wasmflow.wafl",
  "wtb" => "application/vnd.webturbo",
  "p2p" => "application/vnd.wfa.p2p",
  "wsc" => "application/vnd.wfa.wsc",
  "wmc" => "application/vnd.wmc",
  "m" => "application/vnd.wolfram.mathematica.package",
  "nbp" => "application/vnd.wolfram.player",
  "wpd" => "application/vnd.wordperfect",
  "wqd" => "application/vnd.wqd",
  "stf" => "application/vnd.wt.stf",
  "wv" => "application/vnd.wv.csp+wbxml",
  "xar" => "application/vnd.xara",
  "xfdl" => "application/vnd.xfdl",
  "xfd" => "application/vnd.xfdl",
  "cpkg" => "application/vnd.xmpie.cpkg",
  "dpkg" => "application/vnd.xmpie.dpkg",
  "ppkg" => "application/vnd.xmpie.ppkg",
  "xlim" => "application/vnd.xmpie.xlim",
  "hvd" => "application/vnd.yamaha.hv-dic",
  "hvs" => "application/vnd.yamaha.hv-script",
  "hvp" => "application/vnd.yamaha.hv-voice",
  "osf" => "application/vnd.yamaha.openscoreformat",
  "saf" => "application/vnd.yamaha.smaf-audio",
  "spf" => "application/vnd.yamaha.smaf-phrase",
  "yme" => "application/vnd.yaoweme",
  "cmp" => "application/vnd.yellowriver-custom-menu",
  "zir" => "application/vnd.zul",
  "zirz" => "application/vnd.zul",
  "zaz" => "application/vnd.zzazz.deck+xml",
  "vxml" => "application/voicexml+xml",
  "vcj" => "application/voucher-cms+json",
  "wasm" => "application/wasm",
  "wif" => "application/watcherinfo+xml",
  "wgt" => "application/widget",
  "wsdl" => "application/wsdl+xml",
  "wspolicy" => "application/wspolicy+xml",
  "yang" => "application/yang",
  "yin" => "application/yin+xml",
  "zip" => "application/zip",
  "zst" => "application/zstd",
  "726" => "audio/32kadpcm",
  "adts" => "audio/aac",
  "aac" => "audio/aac",
  "ass" => "audio/aac",
  "ac3" => "audio/ac3",
  "amr" => "audio/AMR",
  "awb" => "audio/AMR-WB",
  "acn" => "audio/asc",
  "aal" => "audio/ATRAC-ADVANCED-LOSSLESS",
  "atx" => "audio/ATRAC-X",
  "at3" => "audio/ATRAC3",
  "aa3" => "audio/ATRAC3",
  "omg" => "audio/ATRAC3",
  "au" => "audio/basic",
  "snd" => "audio/basic",
  "dls" => "audio/dls",
  "evc" => "audio/EVRC",
  "evb" => "audio/EVRCB",
  "enw" => "audio/EVRCNW",
  "evw" => "audio/EVRCWB",
  "lbc" => "audio/iLBC",
  "l16" => "audio/L16",
  "mhas" => "audio/mhas",
  "mxmf" => "audio/mobile-xmf",
  "m4a" => "audio/mp4",
  "mp3" => "audio/mpeg",
  "mpga" => "audio/mpeg",
  "mp1" => "audio/mpeg",
  "mp2" => "audio/mpeg",
  "oga" => "audio/ogg",
  "ogg" => "audio/ogg",
  "opus" => "audio/ogg",
  "spx" => "audio/ogg",
  "qcp" => "audio/QCELP",
  "smv" => "audio/SMV",
  "sofa" => "audio/sofa",
  "loas" => "audio/usac",
  "xhe" => "audio/usac",
  "koz" => "audio/vnd.audiokoz",
  "uva" => "audio/vnd.dece.audio",
  "uvva" => "audio/vnd.dece.audio",
  "eol" => "audio/vnd.digital-winds",
  "mlp" => "audio/vnd.dolby.mlp",
  "dts" => "audio/vnd.dts",
  "dtshd" => "audio/vnd.dts.hd",
  "plj" => "audio/vnd.everad.plj",
  "lvp" => "audio/vnd.lucent.voice",
  "pya" => "audio/vnd.ms-playready.media.pya",
  "vbk" => "audio/vnd.nortel.vbk",
  "ecelp4800" => "audio/vnd.nuera.ecelp4800",
  "ecelp7470" => "audio/vnd.nuera.ecelp7470",
  "ecelp9600" => "audio/vnd.nuera.ecelp9600",
  "multitrack" => "audio/vnd.presonus.multitrack",
  "rip" => "audio/vnd.rip",
  "smp3" => "audio/vnd.sealedmedia.softseal.mpeg",
  "smp" => "audio/vnd.sealedmedia.softseal.mpeg",
  "s1m" => "audio/vnd.sealedmedia.softseal.mpeg",
  "ttc" => "font/collection",
  "otf" => "font/otf",
  "ttf" => "font/ttf",
  "woff" => "font/woff",
  "woff2" => "font/woff2",
  "exr" => "image/aces",
  "avci" => "image/avci",
  "avcs" => "image/avcs",
  "avif" => "image/avif",
  "hif" => "image/avif",
  "bmp" => "image/bmp",
  "dib" => "image/bmp",
  "cgm" => "image/cgm",
  "drle" => "image/dicom-rle",
  "dpx" => "image/dpx",
  "emf" => "image/emf",
  "fits" => "image/fits",
  "fit" => "image/fits",
  "fts" => "image/fits",
  "heic" => "image/heic",
  "heics" => "image/heic-sequence",
  "heif" => "image/heif",
  "heifs" => "image/heif-sequence",
  "hej2" => "image/hej2k",
  "hsj2" => "image/hsj2",
  "gif" => "image/gif",
  "ief" => "image/ief",
  "jls" => "image/jls",
  "jp2" => "image/jp2",
  "jpg2" => "image/jp2",
  "jph" => "image/jph",
  "jhc" => "image/jphc",
  "jpg" => "image/jpeg",
  "jpeg" => "image/jpeg",
  "jpe" => "image/jpeg",
  "jfif" => "image/jpeg",
  "jpm" => "image/jpm",
  "jpgm" => "image/jpm",
  "jpx" => "image/jpx",
  "jpf" => "image/jpx",
  "jxl" => "image/jxl",
  "jxr" => "image/jxr",
  "jxra" => "image/jxrA",
  "jxrs" => "image/jxrS",
  "jxs" => "image/jxs",
  "jxsc" => "image/jxsc",
  "jxsi" => "image/jxsi",
  "jxss" => "image/jxss",
  "ktx" => "image/ktx",
  "ktx2" => "image/ktx2",
  "png" => "image/png",
  "svg" => "image/svg+xml",
  "svgz" => "image/svg+xml",
  "t38" => "image/t38",
  "tiff" => "image/tiff",
  "tif" => "image/tiff",
  "tfx" => "image/tiff-fx",
  "psd" => "image/vnd.adobe.photoshop",
  "azv" => "image/vnd.airzip.accelerator.azv",
  "uvi" => "image/vnd.dece.graphic",
  "uvvi" => "image/vnd.dece.graphic",
  "uvg" => "image/vnd.dece.graphic",
  "uvvg" => "image/vnd.dece.graphic",
  "djvu" => "image/vnd.djvu",
  "djv" => "image/vnd.djvu",
  "dwg" => "image/vnd.dwg",
  "dxf" => "image/vnd.dxf",
  "fbs" => "image/vnd.fastbidsheet",
  "fpx" => "image/vnd.fpx",
  "fst" => "image/vnd.fst",
  "mmr" => "image/vnd.fujixerox.edmics-mmr",
  "rlc" => "image/vnd.fujixerox.edmics-rlc",
  "pgb" => "image/vnd.globalgraphics.pgb",
  "ico" => "image/vnd.microsoft.icon",
  "apng" => "image/vnd.mozilla.apng",
  "mdi" => "image/vnd.ms-modi",
  "b16" => "image/vnd.pco.b16",
  "hdr" => "image/vnd.radiance",
  "rgbe" => "image/vnd.radiance",
  "xyze" => "image/vnd.radiance",
  "spng" => "image/vnd.sealed.png",
  "spn" => "image/vnd.sealed.png",
  "s1n" => "image/vnd.sealed.png",
  "sgif" => "image/vnd.sealedmedia.softseal.gif",
  "sgi" => "image/vnd.sealedmedia.softseal.gif",
  "s1g" => "image/vnd.sealedmedia.softseal.gif",
  "sjpg" => "image/vnd.sealedmedia.softseal.jpg",
  "sjp" => "image/vnd.sealedmedia.softseal.jpg",
  "s1j" => "image/vnd.sealedmedia.softseal.jpg",
  "tap" => "image/vnd.tencent.tap",
  "vtf" => "image/vnd.valve.source.texture",
  "wbmp" => "image/vnd.wap.wbmp",
  "xif" => "image/vnd.xiff",
  "pcx" => "image/vnd.zbrush.pcx",
  "wmf" => "image/wmf",
  "u8msg" => "message/global",
  "u8dsn" => "message/global-delivery-status",
  "u8mdn" => "message/global-disposition-notification",
  "u8hdr" => "message/global-headers",
  "eml" => "message/rfc822",
  "mail" => "message/rfc822",
  "art" => "message/rfc822",
  "glb" => "model/gltf-binary",
  "gltf" => "model/gltf+json",
  "jt" => "model/JT",
  "igs" => "model/iges",
  "iges" => "model/iges",
  "msh" => "model/mesh",
  "mesh" => "model/mesh",
  "silo" => "model/mesh",
  "mtl" => "model/mtl",
  "obj" => "model/obj",
  "stpx" => "model/step+xml",
  "stpxz" => "model/step-xml+zip",
  "stl" => "model/stl",
  "u3d" => "model/u3d",
  "bary" => "model/vnd.bary",
  "cld" => "model/vnd.cld",
  "dae" => "model/vnd.collada+xml",
  "dwf" => "model/vnd.dwf",
  "gdl" => "model/vnd.gdl",
  "gsm" => "model/vnd.gdl",
  "win" => "model/vnd.gdl",
  "dor" => "model/vnd.gdl",
  "lmp" => "model/vnd.gdl",
  "rsm" => "model/vnd.gdl",
  "msm" => "model/vnd.gdl",
  "ism" => "model/vnd.gdl",
  "gtw" => "model/vnd.gtw",
  "moml" => "model/vnd.moml+xml",
  "mts" => "model/vnd.mts",
  "ogex" => "model/vnd.opengex",
  "x_b" => "model/vnd.parasolid.transmit.binary",
  "xmt_bin" => "model/vnd.parasolid.transmit.binary",
  "x_t" => "model/vnd.parasolid.transmit.text",
  "xmt_txt" => "model/vnd.parasolid.transmit.text",
  "pyo" => "model/vnd.pytha.pyox",
  "pyox" => "model/vnd.pytha.pyox",
  "vds" => "model/vnd.sap.vds",
  "usda" => "model/vnd.usda",
  "usdz" => "model/vnd.usdz+zip",
  "bsp" => "model/vnd.valve.source.compiled-map",
  "vtu" => "model/vnd.vtu",
  "wrl" => "model/vrml",
  "vrml" => "model/vrml",
  "bmed" => "multipart/vnd.bint.med-plus",
  "vpm" => "multipart/voice-message",
  "appcache" => "text/cache-manifest",
  "manifest" => "text/cache-manifest",
  "ics" => "text/calendar",
  "ifb" => "text/calendar",
  "CQL" => "text/cql",
  "css" => "text/css",
  "csv" => "text/csv",
  "csvs" => "text/csv-schema",
  "soa" => "text/dns",
  "zone" => "text/dns",
  "gff3" => "text/gff3",
  "html" => "text/html",
  "htm" => "text/html",
  "js" => "text/javascript",
  "mjs" => "text/javascript",
  "cnd" => "text/jcr-cnd",
  "markdown" => "text/markdown",
  "md" => "text/markdown",
  "miz" => "text/mizar",
  "n3" => "text/n3",
  "txt" => "text/plain",
  "asc" => "text/plain",
  "text" => "text/plain",
  "pm" => "text/plain",
  "el" => "text/plain",
  "c" => "text/plain",
  "h" => "text/plain",
  "cc" => "text/plain",
  "hh" => "text/plain",
  "cxx" => "text/plain",
  "hxx" => "text/plain",
  "f90" => "text/plain",
  "conf" => "text/plain",
  "log" => "text/plain",
  "provn" => "text/provenance-notation",
  "rtx" => "text/richtext",
  "sgml" => "text/SGML",
  "sgm" => "text/SGML",
  "shaclc" => "text/shaclc",
  "shc" => "text/shaclc",
  "shex" => "text/shex",
  "spdx" => "text/spdx",
  "tsv" => "text/tab-separated-values",
  "t" => "text/troff",
  "tr" => "text/troff",
  "roff" => "text/troff",
  "ttl" => "text/turtle",
  "uris" => "text/uri-list",
  "uri" => "text/uri-list",
  "vcf" => "text/vcard",
  "vcard" => "text/vcard",
  "a" => "text/vnd.a",
  "abc" => "text/vnd.abc",
  "ascii" => "text/vnd.ascii-art",
  "copyright" => "text/vnd.debian.copyright",
  "dms" => "text/vnd.DMClientScript",
  "sub" => "text/vnd.dvb.subtitle",
  "jtd" => "text/vnd.esmertec.theme-descriptor",
  "vfk" => "text/vnd.exchangeable",
  "ged" => "text/vnd.familysearch.gedcom",
  "flt" => "text/vnd.ficlab.flt",
  "fly" => "text/vnd.fly",
  "flx" => "text/vnd.fmi.flexstor",
  "gv" => "text/vnd.graphviz",
  "dot" => "text/vnd.graphviz",
  "hans" => "text/vnd.hans",
  "hgl" => "text/vnd.hgl",
  "3dml" => "text/vnd.in3d.3dml",
  "3dm" => "text/vnd.in3d.3dml",
  "spot" => "text/vnd.in3d.spot",
  "spo" => "text/vnd.in3d.spot",
  "mpf" => "text/vnd.ms-mediapackage",
  "ccc" => "text/vnd.net2phone.commcenter.command",
  "mc2" => "text/vnd.senx.warpscript",
  "uric" => "text/vnd.si.uricatalogue",
  "jad" => "text/vnd.sun.j2me.app-descriptor",
  "sos" => "text/vnd.sosi",
  "ts" => "text/vnd.trolltech.linguist",
  "si" => "text/vnd.wap.si",
  "sl" => "text/vnd.wap.sl",
  "wml" => "text/vnd.wap.wml",
  "wmls" => "text/vnd.wap.wmlscript",
  "vtt" => "text/vtt",
  "wgsl" => "text/wgsl",
  "3gp" => "video/3gpp",
  "3gpp" => "video/3gpp",
  "3g2" => "video/3gpp2",
  "3gpp2" => "video/3gpp2",
  "m4s" => "video/iso.segment",
  "mj2" => "video/mj2",
  "mjp2" => "video/mj2",
  "mp4" => "video/mp4",
  "mpg4" => "video/mp4",
  "m4v" => "video/mp4",
  "mpeg" => "video/mpeg",
  "mpg" => "video/mpeg",
  "mpe" => "video/mpeg",
  "m1v" => "video/mpeg",
  "m2v" => "video/mpeg",
  "ogv" => "video/ogg",
  "mov" => "video/quicktime",
  "qt" => "video/quicktime",
  "uvh" => "video/vnd.dece.hd",
  "uvvh" => "video/vnd.dece.hd",
  "uvm" => "video/vnd.dece.mobile",
  "uvvm" => "video/vnd.dece.mobile",
  "uvu" => "video/vnd.dece.mp4",
  "uvvu" => "video/vnd.dece.mp4",
  "uvp" => "video/vnd.dece.pd",
  "uvvp" => "video/vnd.dece.pd",
  "uvs" => "video/vnd.dece.sd",
  "uvvs" => "video/vnd.dece.sd",
  "uvv" => "video/vnd.dece.video",
  "uvvv" => "video/vnd.dece.video",
  "dvb" => "video/vnd.dvb.file",
  "fvt" => "video/vnd.fvt",
  "mxu" => "video/vnd.mpegurl",
  "m4u" => "video/vnd.mpegurl",
  "pyv" => "video/vnd.ms-playready.media.pyv",
  "nim" => "video/vnd.nokia.interleaved-multimedia",
  "bik" => "video/vnd.radgamettools.bink",
  "bk2" => "video/vnd.radgamettools.bink",
  "smk" => "video/vnd.radgamettools.smacker",
  "smpg" => "video/vnd.sealed.mpeg1",
  "s11" => "video/vnd.sealed.mpeg1",
  "s14" => "video/vnd.sealed.mpeg4",
  "sswf" => "video/vnd.sealed.swf",
  "ssw" => "video/vnd.sealed.swf",
  "smov" => "video/vnd.sealedmedia.softseal.mov",
  "smo" => "video/vnd.sealedmedia.softseal.mov",
  "s1q" => "video/vnd.sealedmedia.softseal.mov",
  "yt" => "video/vnd.youtube.yt",
  "viv" => "video/vnd.vivo",
  "cpt" => "application/mac-compactpro",
  "metalink" => "application/metalink+xml",
  "owx" => "application/owl+xml",
  "rss" => "application/rss+xml",
  "apk" => "application/vnd.android.package-archive",
  "dd" => "application/vnd.oma.dd+xml",
  "dcf" => "application/vnd.oma.drm.content",
  "o4a" => "application/vnd.oma.drm.dcf",
  "o4v" => "application/vnd.oma.drm.dcf",
  "dm" => "application/vnd.oma.drm.message",
  "drc" => "application/vnd.oma.drm.rights+wbxml",
  "dr" => "application/vnd.oma.drm.rights+xml",
  "sxc" => "application/vnd.sun.xml.calc",
  "stc" => "application/vnd.sun.xml.calc.template",
  "sxd" => "application/vnd.sun.xml.draw",
  "std" => "application/vnd.sun.xml.draw.template",
  "sxi" => "application/vnd.sun.xml.impress",
  "sti" => "application/vnd.sun.xml.impress.template",
  "sxm" => "application/vnd.sun.xml.math",
  "sxw" => "application/vnd.sun.xml.writer",
  "sxg" => "application/vnd.sun.xml.writer.global",
  "stw" => "application/vnd.sun.xml.writer.template",
  "sis" => "application/vnd.symbian.install",
  "mms" => "application/vnd.wap.mms-message",
  "mid" => "audio/midi",
  "midi" => "audio/midi",
  "kar" => "audio/midi",
  "webp" => "image/webp",
  "sandboxed" => "text/html-sandboxed",
  "webm" => "video/webm"
}.freeze

Class Method Summary collapse

Class Method Details

.get_mime_type(file) ⇒ String

Note:

This function does no checks on the file - simply renaming the file to a different extension will yield an invalid result. Do not use this to check uploaded files - preferably, use libmagic or proper mime type tools for Ruby.

Get MIME type by file extension

Parameters:

  • file (String)

    filename

Returns:

  • (String)

    MIME type, defaults to “application/octet-stream”



1273
1274
1275
# File 'lib/landline/util/mime.rb', line 1273

def self.get_mime_type(file)
  MIME[file.match(/\.(\w+)$/)&.[](1)] or "application/octet-stream"
end