1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942 |
- #
- #
- # Nim's Runtime Library
- # (c) Copyright 2012 Dominik Picheta
- #
- # See the file "copying.txt", included in this
- # distribution, for details about the copyright.
- #
- ## This module implements a mimetypes database
- runnableExamples:
- var m = newMimetypes()
- doAssert m.getMimetype("mp4") == "video/mp4"
- doAssert m.getExt("text/html") == "html"
- ## Values can be uppercase too.
- doAssert m.getMimetype("MP4") == "video/mp4"
- doAssert m.getExt("TEXT/HTML") == "html"
- ## If values are invalid then `default` is returned.
- doAssert m.getMimetype("INVALID") == "text/plain"
- doAssert m.getExt("INVALID/NONEXISTENT") == "txt"
- doAssert m.getMimetype("") == "text/plain"
- doAssert m.getExt("") == "txt"
- ## Register new Mimetypes.
- m.register(ext = "fakext", mimetype = "text/fakelang")
- doAssert m.getMimetype("fakext") == "text/fakelang"
- doAssert m.getMimetype("FaKeXT") == "text/fakelang"
- import tables
- from strutils import startsWith, toLowerAscii, strip
- when defined(nimPreviewSlimSystem):
- import std/assertions
- type
- MimeDB* = object
- mimes: OrderedTable[string, string]
- const mimes* = {
- "123": "application/vnd.lotus-1-2-3",
- "1km": "application/vnd.1000minds.decision-model+xml",
- "323": "text/h323",
- "3dm": "text/vnd.in3d.3dml",
- "3dmf": "x-world/x-3dmf",
- "3dml": "text/vnd.in3d.3dml",
- "3ds": "image/x-3ds",
- "3g2": "video/3gpp2",
- "3gp": "video/3gpp",
- "3gpp": "audio/3gpp",
- "3gpp2": "video/3gpp2",
- "3mf": "application/vnd.ms-3mfdocument",
- "669": "audio/x-mod",
- "726": "audio/32kadpcm",
- "7z": "application/x-7z-compressed",
- "a": "text/plain",
- "a2l": "application/a2l",
- "aa3": "audio/atrac3",
- "aab": "application/x-authorware-bin",
- "aac": "audio/x-aac",
- "aal": "audio/atrac-advanced-lossless",
- "aam": "application/x-authorware-map",
- "aas": "application/x-authorware-seg",
- "abc": "text/vnd.abc",
- "abw": "application/x-abiword",
- "ac": "application/pkix-attr-cert",
- "ac3": "audio/ac3",
- "acc": "application/vnd.americandynamics.acc",
- "ace": "application/x-ace-compressed",
- "acn": "audio/asc",
- "acu": "application/vnd.acucobol",
- "acutc": "application/vnd.acucorp",
- "acx": "application/internet-property-stream",
- "adp": "audio/adpcm",
- "aep": "application/vnd.audiograph",
- "afl": "video/animaflex",
- "afm": "application/x-font-type1",
- "afp": "application/vnd.ibm.modcap",
- "ahead": "application/vnd.ahead.space",
- "ai": "application/postscript",
- "aif": "audio/x-aiff",
- "aifc": "audio/x-aiff",
- "aiff": "audio/x-aiff",
- "aim": "application/x-aim",
- "aip": "text/x-audiosoft-intra",
- "air": "application/vnd.adobe.air-application-installer-package+zip",
- "ait": "application/vnd.dvb.ait",
- "alc": "chemical/x-alchemy",
- "ami": "application/vnd.amiga.ami",
- "aml": "application/aml",
- "amr": "audio/amr",
- "ani": "application/x-navi-animation",
- "anx": "application/x-annodex",
- "aos": "application/x-nokia-9000-communicator-add-on-software",
- "apinotes": "text/apinotes",
- "apk": "application/vnd.android.package-archive",
- "apkg": "application/vnd.anki",
- "apng": "image/apng",
- "appcache": "text/cache-manifest",
- "appimage": "application/appimage",
- "application": "application/x-ms-application",
- "apr": "application/vnd.lotus-approach",
- "aps": "application/mime",
- "apxml": "application/auth-policy+xml",
- "arc": "application/x-freearc",
- "arj": "application/x-arj",
- "art": "message/rfc822",
- "asar": "binary/asar",
- "asc": "text/plain",
- "ascii": "text/vnd.ascii-art",
- "asf": "application/vnd.ms-asf",
- "asice": "application/vnd.etsi.asic-e+zip",
- "asics": "application/vnd.etsi.asic-s+zip",
- "asm": "text/x-asm",
- "asn": "chemical/x-ncbi-asn1-spec",
- "aso": "application/vnd.accpac.simply.aso",
- "asp": "text/asp",
- "asr": "video/x-ms-asf",
- "asx": "video/x-ms-asf",
- "at3": "audio/atrac3",
- "atc": "application/vnd.acucorp",
- "atf": "application/atf",
- "atfx": "application/atfx",
- "atom": "application/atom+xml",
- "atomcat": "application/atomcat+xml",
- "atomdeleted": "application/atomdeleted+xml",
- "atomsrv": "application/atomserv+xml",
- "atomsvc": "application/atomsvc+xml",
- "atx": "application/vnd.antix.game-component",
- "atxml": "application/atxml",
- "au": "audio/basic",
- "auc": "application/tamp-apex-update-confirm",
- "avi": "video/x-msvideo",
- "avs": "video/avs-video",
- "aw": "application/applixware",
- "awb": "audio/amr-wb",
- "axa": "audio/x-annodex",
- "axs": "application/olescript",
- "axv": "video/x-annodex",
- "azf": "application/vnd.airzip.filesecure.azf",
- "azs": "application/vnd.airzip.filesecure.azs",
- "azv": "image/vnd.airzip.accelerator.azv",
- "azw": "application/vnd.amazon.ebook",
- "azw3": "application/vnd.amazon.mobi8-ebook",
- "b": "chemical/x-molconn-Z",
- "bak": "application/x-trash",
- "bar": "application/vnd.qualcomm.brew-app-res",
- "bas": "text/plain",
- "bash": "text/shell",
- "bat": "application/x-msdos-program",
- "bcpio": "application/x-bcpio",
- "bdf": "application/x-font-bdf",
- "bdm": "application/vnd.syncml.dm+wbxml",
- "bdoc": "application/bdoc",
- "bed": "application/vnd.realvnc.bed",
- "bh2": "application/vnd.fujitsu.oasysprs",
- "bib": "text/x-bibtex",
- "bik": "video/vnd.radgamettools.bink",
- "bin": "application/octet-stream",
- "bk2": "video/vnd.radgamettools.bink",
- "bkm": "application/vnd.nervana",
- "blb": "application/x-blorb",
- "blend": "binary/blender",
- "blorb": "application/x-blorb",
- "bm": "image/bmp",
- "bmed": "multipart/vnd.bint.med-plus",
- "bmi": "application/vnd.bmi",
- "bmml": "application/vnd.balsamiq.bmml+xml",
- "bmp": "image/bmp",
- "bmpr": "application/vnd.balsamiq.bmpr",
- "boo": "application/book",
- "book": "application/book",
- "box": "application/vnd.previewsystems.box",
- "boz": "application/x-bzip2",
- "bpd": "application/vnd.hbci",
- "bpk": "application/octet-stream",
- "brf": "text/plain",
- "bsd": "chemical/x-crossfire",
- "bsh": "application/x-bsh",
- "bsp": "model/vnd.valve.source.compiled-map",
- "btf": "image/prs.btif",
- "btif": "image/prs.btif",
- "bz": "application/x-bzip",
- "bz2": "application/x-bzip2",
- "c": "text/x-csrc",
- "c++": "text/x-c++src",
- "c11amc": "application/vnd.cluetrust.cartomobile-config",
- "c11amz": "application/vnd.cluetrust.cartomobile-config-pkg",
- "c3d": "chemical/x-chem3d",
- "c3ex": "application/cccex",
- "c4d": "application/vnd.clonk.c4group",
- "c4f": "application/vnd.clonk.c4group",
- "c4g": "application/vnd.clonk.c4group",
- "c4p": "application/vnd.clonk.c4group",
- "c4u": "application/vnd.clonk.c4group",
- "cab": "application/vnd.ms-cab-compressed",
- "cac": "chemical/x-cache",
- "cache": "application/x-cache",
- "caf": "audio/x-caf",
- "cap": "application/vnd.tcpdump.pcap",
- "car": "application/vnd.curl.car",
- "cascii": "chemical/x-cactvs-binary",
- "cat": "application/vnd.ms-pki.seccat",
- "cb7": "application/x-cbr",
- "cba": "application/x-cbr",
- "cbin": "chemical/x-cactvs-binary",
- "cbor": "application/cbor",
- "cbr": "application/x-cbr",
- "cbt": "application/x-cbr",
- "cbz": "application/vnd.comicbook+zip",
- "cc": "text/plain",
- "ccad": "application/clariscad",
- "ccc": "text/vnd.net2phone.commcenter.command",
- "ccmp": "application/ccmp+xml",
- "cco": "application/x-cocoa",
- "cct": "application/x-director",
- "ccxml": "application/ccxml+xml",
- "cda": "application/x-cdf",
- "cdbcmsg": "application/vnd.contact.cmsg",
- "cdf": "application/x-netcdf",
- "cdfx": "application/cdfx+xml",
- "cdkey": "application/vnd.mediastation.cdkey",
- "cdmia": "application/cdmi-capability",
- "cdmic": "application/cdmi-container",
- "cdmid": "application/cdmi-domain",
- "cdmio": "application/cdmi-object",
- "cdmiq": "application/cdmi-queue",
- "cdr": "image/x-coreldraw",
- "cdt": "image/x-coreldrawtemplate",
- "cdx": "chemical/x-cdx",
- "cdxml": "application/vnd.chemdraw+xml",
- "cdy": "application/vnd.cinderella",
- "cea": "application/cea",
- "cef": "chemical/x-cxf",
- "cellml": "application/cellml+xml",
- "cer": "application/pkix-cert",
- "cfg": "text/cfg",
- "cfs": "application/x-cfs-compressed",
- "cgm": "image/cgm",
- "cha": "application/x-chat",
- "chat": "application/x-chat",
- "chm": "application/vnd.ms-htmlhelp",
- "chrt": "application/vnd.kde.kchart",
- "cif": "chemical/x-cif",
- "cii": "application/vnd.anser-web-certificate-issue-initiation",
- "cil": "application/vnd.ms-artgalry",
- "cl": "application/simple-filter+xml",
- "cla": "application/vnd.claymore",
- "class": "application/java-vm",
- "clkk": "application/vnd.crick.clicker.keyboard",
- "clkp": "application/vnd.crick.clicker.palette",
- "clkt": "application/vnd.crick.clicker.template",
- "clkw": "application/vnd.crick.clicker.wordbank",
- "clkx": "application/vnd.crick.clicker",
- "clp": "application/x-msclip",
- "cls": "text/x-tex",
- "clue": "application/clue_info+xml",
- "cmake": "text/cmake",
- "cmc": "application/vnd.cosmocaller",
- "cmdf": "chemical/x-cmdf",
- "cml": "chemical/x-cml",
- "cmp": "application/vnd.yellowriver-custom-menu",
- "cmsc": "application/cms",
- "cmx": "image/x-cmx",
- "cnd": "text/jcr-cnd",
- "cnf": "text/cnf",
- "cod": "application/vnd.rim.cod",
- "coffee": "application/vnd.coffeescript",
- "com": "application/x-msdos-program",
- "conf": "text/plain",
- "copyright": "text/vnd.debian.copyright",
- "cpa": "chemical/x-compass",
- "cpio": "application/x-cpio",
- "cpkg": "application/vnd.xmpie.cpkg",
- "cpl": "application/cpl+xml",
- "cpp": "text/x-c++src",
- "cpt": "application/mac-compactpro",
- "cr2": "image/x-canon-cr2",
- "crd": "application/x-mscardfile",
- "crl": "application/pkix-crl",
- "crt": "application/x-x509-ca-cert",
- "crtr": "application/vnd.multiad.creator",
- "crw": "image/x-canon-crw",
- "crx": "application/x-chrome-extension",
- "cryptonote": "application/vnd.rig.cryptonote",
- "cs": "text/c#",
- "csf": "chemical/x-cache-csf",
- "csh": "application/x-csh",
- "csl": "application/vnd.citationstyles.style+xml",
- "csm": "chemical/x-csml",
- "csml": "chemical/x-csml",
- "cson": "text/cson",
- "csp": "application/vnd.commonspace",
- "csrattrs": "application/csrattrs",
- "css": "text/css",
- "cst": "application/vnd.commonspace",
- "csv": "text/csv",
- "csvs": "text/csv-schema",
- "ctab": "chemical/x-cactvs-binary",
- "ctx": "chemical/x-ctx",
- "cu": "application/cu-seeme",
- "cub": "chemical/x-gaussian-cube",
- "cuc": "application/tamp-community-update-confirm",
- "curl": "text/vnd.curl",
- "cw": "application/prs.cww",
- "cww": "application/prs.cww",
- "cxf": "chemical/x-cxf",
- "cxt": "application/x-director",
- "cxx": "text/plain",
- "d": "text/x-dsrc",
- "dae": "model/vnd.collada+xml",
- "daf": "application/vnd.mobius.daf",
- "dart": "application/vnd.dart",
- "dat": "application/x-ns-proxy-autoconfig",
- "dataless": "application/vnd.fdsn.seed",
- "davmount": "application/davmount+xml",
- "dbk": "application/docbook+xml",
- "dcd": "application/dcd",
- "dcf": "application/vnd.oma.drm.content",
- "dcm": "application/dicom",
- "dcr": "application/x-director",
- "dcurl": "text/vnd.curl.dcurl",
- "dd": "application/vnd.oma.dd+xml",
- "dd2": "application/vnd.oma.dd2+xml",
- "ddd": "application/vnd.fujixerox.ddd",
- "ddf": "application/vnd.syncml.dmddf+xml",
- "deb": "application/vnd.debian.binary-package",
- "deepv": "application/x-deepv",
- "def": "text/plain",
- "deploy": "application/octet-stream",
- "der": "application/x-x509-ca-cert",
- "dfac": "application/vnd.dreamfactory",
- "dgc": "application/x-dgc-compressed",
- "dib": "image/bmp",
- "dic": "text/x-c",
- "dif": "video/x-dv",
- "diff": "text/x-diff",
- "dii": "application/dii",
- "dim": "application/vnd.fastcopy-disk-image",
- "dir": "application/x-director",
- "dis": "application/vnd.mobius.dis",
- "disposition-notification": "message/disposition-notification",
- "dist": "application/vnd.apple.installer+xml",
- "distz": "application/vnd.apple.installer+xml",
- "dit": "application/dit",
- "djv": "image/vnd.djvu",
- "djvu": "image/vnd.djvu",
- "dl": "video/dl",
- "dll": "application/x-msdos-program",
- "dls": "audio/dls",
- "dm": "application/vnd.oma.drm.message",
- "dmg": "application/x-apple-diskimage",
- "dmp": "application/vnd.tcpdump.pcap",
- "dms": "text/vnd.dmclientscript",
- "dna": "application/vnd.dna",
- "doc": "application/msword",
- "docjson": "application/vnd.document+json",
- "docm": "application/vnd.ms-word.document.macroenabled.12",
- "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
- "dor": "model/vnd.gdl",
- "dot": "text/vnd.graphviz",
- "dotm": "application/vnd.ms-word.template.macroenabled.12",
- "dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
- "dp": "application/vnd.osgi.dp",
- "dpg": "application/vnd.dpgraph",
- "dpgraph": "application/vnd.dpgraph",
- "dpkg": "application/vnd.xmpie.dpkg",
- "dr": "application/vnd.oma.drm.rights+xml",
- "dra": "audio/vnd.dra",
- "drc": "application/vnd.oma.drm.rights+wbxml",
- "drle": "image/dicom-rle",
- "drw": "application/drafting",
- "dsc": "text/prs.lines.tag",
- "dsm": "application/vnd.desmume.movie",
- "dssc": "application/dssc+der",
- "dtb": "application/x-dtbook+xml",
- "dtd": "application/xml-dtd",
- "dts": "audio/vnd.dts",
- "dtshd": "audio/vnd.dts.hd",
- "dump": "application/octet-stream",
- "dv": "video/x-dv",
- "dvb": "video/vnd.dvb.file",
- "dvc": "application/dvcs",
- "dvi": "application/x-dvi",
- "dwf": "model/vnd.dwf",
- "dwg": "image/vnd.dwg",
- "dx": "chemical/x-jcamp-dx",
- "dxf": "image/vnd.dxf",
- "dxp": "application/vnd.spotfire.dxp",
- "dxr": "application/x-director",
- "dzr": "application/vnd.dzr",
- "ear": "binary/zip",
- "ecelp4800": "audio/vnd.nuera.ecelp4800",
- "ecelp7470": "audio/vnd.nuera.ecelp7470",
- "ecelp9600": "audio/vnd.nuera.ecelp9600",
- "ecig": "application/vnd.evolv.ecig.settings",
- "ecigprofile": "application/vnd.evolv.ecig.profile",
- "ecigtheme": "application/vnd.evolv.ecig.theme",
- "ecma": "application/ecmascript",
- "edm": "application/vnd.novadigm.edm",
- "edx": "application/vnd.novadigm.edx",
- "efi": "application/efi",
- "efif": "application/vnd.picsel",
- "ei6": "application/vnd.pg.osasli",
- "ejs": "text/ejs",
- "el": "text/plain",
- "elc": "application/x-bytecode.elisp",
- "emb": "chemical/x-embl-dl-nucleotide",
- "embl": "chemical/x-embl-dl-nucleotide",
- "emf": "image/emf",
- "eml": "message/rfc822",
- "emm": "application/vnd.ibm.electronic-media",
- "emma": "application/emma+xml",
- "emotionml": "application/emotionml+xml",
- "emz": "application/x-msmetafile",
- "ent": "text/xml-external-parsed-entity",
- "entity": "application/vnd.nervana",
- "env": "application/x-envoy",
- "enw": "audio/evrcnw",
- "eol": "audio/vnd.digital-winds",
- "eot": "application/vnd.ms-fontobject",
- "ep": "application/vnd.bluetooth.ep.oob",
- "eps": "application/postscript",
- "eps2": "application/postscript",
- "eps3": "application/postscript",
- "epsf": "application/postscript",
- "epsi": "application/postscript",
- "epub": "application/epub+zip",
- "erb": "text/erb",
- "erf": "image/x-epson-erf",
- "es": "application/ecmascript",
- "es3": "application/vnd.eszigno3+xml",
- "esa": "application/vnd.osgi.subsystem",
- "escn": "text/godot",
- "esf": "application/vnd.epson.esf",
- "espass": "application/vnd.espass-espass+zip",
- "et3": "application/vnd.eszigno3+xml",
- "etx": "text/x-setext",
- "eva": "application/x-eva",
- "evb": "audio/evrcb",
- "evc": "audio/evrc",
- "evw": "audio/evrcwb",
- "evy": "application/x-envoy",
- "exe": "application/x-msdos-program",
- "exi": "application/exi",
- "exr": "image/aces",
- "ext": "application/vnd.novadigm.ext",
- "eyaml": "text/yaml",
- "ez": "application/andrew-inset",
- "ez2": "application/vnd.ezpix-album",
- "ez3": "application/vnd.ezpix-package",
- "f": "text/x-fortran",
- "f4v": "video/x-f4v",
- "f77": "text/x-fortran",
- "f90": "text/plain",
- "fb": "application/x-maker",
- "fbdoc": "application/x-maker",
- "fbs": "image/vnd.fastbidsheet",
- "fbx": "model/filmbox",
- "fcdt": "application/vnd.adobe.formscentral.fcdt",
- "fch": "chemical/x-gaussian-checkpoint",
- "fchk": "chemical/x-gaussian-checkpoint",
- "fcs": "application/vnd.isac.fcs",
- "fdf": "application/vnd.fdf",
- "fdt": "application/fdt+xml",
- "fe_launch": "application/vnd.denovo.fcselayout-link",
- "feature": "text/gherkin",
- "fg5": "application/vnd.fujitsu.oasysgp",
- "fgd": "application/x-director",
- "fh": "image/x-freehand",
- "fh4": "image/x-freehand",
- "fh5": "image/x-freehand",
- "fh7": "image/x-freehand",
- "fhc": "image/x-freehand",
- "fif": "image/fif",
- "fig": "application/x-xfig",
- "finf": "application/fastinfoset",
- "fish": "text/fish",
- "fit": "image/fits",
- "fits": "image/fits",
- "fla": "application/vnd.dtg.local.flash",
- "flac": "audio/x-flac",
- "fli": "video/x-fli",
- "flo": "application/vnd.micrografx.flo",
- "flr": "x-world/x-vrml",
- "flv": "video/x-flv",
- "flw": "application/vnd.kde.kivio",
- "flx": "text/vnd.fmi.flexstor",
- "fly": "text/vnd.fly",
- "fm": "application/vnd.framemaker",
- "fmf": "video/x-atomic3d-feature",
- "fnc": "application/vnd.frogans.fnc",
- "fo": "application/vnd.software602.filler.form+xml",
- "for": "text/x-fortran",
- "fpx": "image/vnd.fpx",
- "frame": "application/vnd.framemaker",
- "frl": "application/freeloader",
- "frm": "application/vnd.ufdl",
- "fsc": "application/vnd.fsc.weblaunch",
- "fst": "image/vnd.fst",
- "ftc": "application/vnd.fluxtime.clip",
- "fti": "application/vnd.anser-web-funds-transfer-initiation",
- "fts": "image/fits",
- "funk": "audio/make",
- "fvt": "video/vnd.fvt",
- "fxm": "video/x-javafx",
- "fxp": "application/vnd.adobe.fxp",
- "fxpl": "application/vnd.adobe.fxp",
- "fzs": "application/vnd.fuzzysheet",
- "g": "text/plain",
- "g2w": "application/vnd.geoplan",
- "g3": "image/g3fax",
- "g3w": "application/vnd.geospace",
- "gac": "application/vnd.groove-account",
- "gal": "chemical/x-gaussian-log",
- "gam": "application/x-tads",
- "gamin": "chemical/x-gamess-input",
- "gau": "chemical/x-gaussian-input",
- "gbr": "application/rpki-ghostbusters",
- "gca": "application/x-gca-compressed",
- "gcd": "text/x-pcs-gcd",
- "gcf": "application/x-graphing-calculator",
- "gcg": "chemical/x-gcg8-sequence",
- "gdl": "model/vnd.gdl",
- "gdoc": "application/vnd.google-apps.document",
- "gemspec": "text/ruby",
- "gen": "chemical/x-genbank",
- "geo": "application/vnd.dynageo",
- "geojson": "application/geo+json",
- "gex": "application/vnd.geometry-explorer",
- "gf": "application/x-tex-gf",
- "ggb": "application/vnd.geogebra.file",
- "ggt": "application/vnd.geogebra.tool",
- "ghf": "application/vnd.groove-help",
- "gif": "image/gif",
- "gim": "application/vnd.groove-identity-message",
- "gjc": "chemical/x-gaussian-input",
- "gjf": "chemical/x-gaussian-input",
- "gl": "video/gl",
- "glb": "model/gltf-binary",
- "gltf": "model/gltf+json",
- "gml": "application/gml+xml",
- "gmx": "application/vnd.gmx",
- "gnumeric": "application/x-gnumeric",
- "go": "text/go",
- "gotmpl": "text/gotmpl",
- "gph": "application/vnd.flographit",
- "gpt": "chemical/x-mopac-graph",
- "gpx": "application/gpx+xml",
- "gqf": "application/vnd.grafeq",
- "gqs": "application/vnd.grafeq",
- "gradle": "text/groovy",
- "gram": "application/srgs",
- "gramps": "application/x-gramps-xml",
- "gre": "application/vnd.geometry-explorer",
- "groovy": "text/groovy",
- "grv": "application/vnd.groove-injector",
- "grxml": "application/srgs+xml",
- "gsd": "audio/x-gsm",
- "gsf": "application/x-font-ghostscript",
- "gsheet": "application/vnd.google-apps.spreadsheet",
- "gslides": "application/vnd.google-apps.presentation",
- "gsm": "model/vnd.gdl",
- "gsp": "application/x-gsp",
- "gss": "application/x-gss",
- "gtar": "application/x-gtar",
- "gtm": "application/vnd.groove-tool-message",
- "gtw": "model/vnd.gtw",
- "gv": "text/vnd.graphviz",
- "gxf": "application/gxf",
- "gxt": "application/vnd.geonext",
- "gyb": "text/gyb",
- "gyp": "text/gyp",
- "gypi": "text/gyp",
- "gz": "application/gzip",
- "h": "text/x-chdr",
- "h++": "text/x-c++hdr",
- "h261": "video/h261",
- "h263": "video/h263",
- "h264": "video/h264",
- "hal": "application/vnd.hal+xml",
- "hbc": "application/vnd.hbci",
- "hbci": "application/vnd.hbci",
- "hbs": "text/x-handlebars-template",
- "hdd": "application/x-virtualbox-hdd",
- "hdf": "application/x-hdf",
- "hdr": "image/vnd.radiance",
- "hdt": "application/vnd.hdt",
- "heic": "image/heic",
- "heics": "image/heic-sequence",
- "heif": "image/heif",
- "heifs": "image/heif-sequence",
- "help": "application/x-helpfile",
- "hgl": "application/vnd.hp-hpgl",
- "hh": "text/plain",
- "hin": "chemical/x-hin",
- "hjson": "application/hjson",
- "hlb": "text/x-script",
- "hlp": "application/winhlp",
- "hpg": "application/vnd.hp-hpgl",
- "hpgl": "application/vnd.hp-hpgl",
- "hpi": "application/vnd.hp-hpid",
- "hpid": "application/vnd.hp-hpid",
- "hpp": "text/x-c++hdr",
- "hps": "application/vnd.hp-hps",
- "hpub": "application/prs.hpub+zip",
- "hqx": "application/mac-binhex40",
- "hs": "text/x-haskell",
- "hta": "application/hta",
- "htc": "text/x-component",
- "htke": "application/vnd.kenameaapp",
- "html": "text/html",
- "htt": "text/webviewhtml",
- "hvd": "application/vnd.yamaha.hv-dic",
- "hvp": "application/vnd.yamaha.hv-voice",
- "hvs": "application/vnd.yamaha.hv-script",
- "hx": "text/haxe",
- "hxml": "text/haxe",
- "hxx": "text/plain",
- "i2g": "application/vnd.intergeo",
- "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",
- "ica": "application/vnd.commerce-battelle",
- "icc": "application/vnd.iccprofile",
- "icd": "application/vnd.commerce-battelle",
- "ice": "x-conference/x-cooltalk",
- "icf": "application/vnd.commerce-battelle",
- "icm": "application/vnd.iccprofile",
- "icns": "binary/icns",
- "ico": "image/x-icon",
- "ics": "text/calendar",
- "icz": "text/calendar",
- "idc": "text/plain",
- "idl": "text/idl",
- "ief": "image/ief",
- "iefs": "image/ief",
- "ifb": "text/calendar",
- "ifm": "application/vnd.shana.informed.formdata",
- "iges": "model/iges",
- "igl": "application/vnd.igloader",
- "igm": "application/vnd.insors.igm",
- "ign": "application/vnd.coreos.ignition+json",
- "ignition": "application/vnd.coreos.ignition+json",
- "igs": "model/iges",
- "igx": "application/vnd.micrografx.igx",
- "iif": "application/vnd.shana.informed.interchange",
- "iii": "application/x-iphone",
- "ima": "application/x-ima",
- "imap": "application/x-httpd-imap",
- "imf": "application/vnd.imagemeter.folder+zip",
- "img": "application/octet-stream",
- "imgcal": "application/vnd.3lightssoftware.imagescal",
- "imi": "application/vnd.imagemeter.image+zip",
- "imp": "application/vnd.accpac.simply.imp",
- "ims": "application/vnd.ms-ims",
- "imscc": "application/vnd.ims.imsccv1p1",
- "in": "text/plain",
- "inc": "text/inc",
- "inf": "application/inf",
- "info": "application/x-info",
- "ini": "text/ini",
- "ink": "application/inkml+xml",
- "inkml": "application/inkml+xml",
- "inp": "chemical/x-gamess-input",
- "ins": "application/x-internet-signup",
- "install": "application/x-install-instructions",
- "iota": "application/vnd.astraea-software.iota",
- "ip": "application/x-ip2",
- "ipfix": "application/ipfix",
- "ipk": "application/vnd.shana.informed.package",
- "irm": "application/vnd.ibm.rights-management",
- "irp": "application/vnd.irepository.package+xml",
- "ism": "model/vnd.gdl",
- "iso": "application/x-iso9660-image",
- "isp": "application/x-internet-signup",
- "ist": "chemical/x-isostar",
- "istr": "chemical/x-isostar",
- "isu": "video/x-isvideo",
- "it": "audio/it",
- "itp": "application/vnd.shana.informed.formtemplate",
- "its": "application/its+xml",
- "iv": "application/x-inventor",
- "ivp": "application/vnd.immervision-ivp",
- "ivr": "i-world/i-vrml",
- "ivu": "application/vnd.immervision-ivu",
- "ivy": "application/x-livescreen",
- "j2": "text/jinja",
- "jad": "text/vnd.sun.j2me.app-descriptor",
- "jade": "text/jade",
- "jam": "application/vnd.jam",
- "jar": "application/x-java-archive",
- "jardiff": "application/x-java-archive-diff",
- "java": "text/x-java-source",
- "jcm": "application/x-java-commerce",
- "jdx": "chemical/x-jcamp-dx",
- "jenkinsfile": "text/groovy",
- "jfif": "image/jpeg",
- "jinja": "text/jinja",
- "jinja2": "text/jinja",
- "jisp": "application/vnd.jisp",
- "jls": "image/jls",
- "jlt": "application/vnd.hp-jlyt",
- "jl": "text/julia",
- "jmz": "application/x-jmol",
- "jng": "image/x-jng",
- "jnlp": "application/x-java-jnlp-file",
- "joda": "application/vnd.joost.joda-archive",
- "jp2": "image/jp2",
- "jpe": "image/jpeg",
- "jpeg": "image/jpeg",
- "jpf": "image/jpx",
- "jpg": "image/jpeg",
- "jpg2": "image/jp2",
- "jpgm": "image/jpm",
- "jpgv": "video/jpeg",
- "jpm": "image/jpm",
- "jps": "image/x-jps",
- "jpx": "image/jpx",
- "jrd": "application/jrd+json",
- "js": "application/javascript",
- "json": "application/json",
- "json-patch": "application/json-patch+json",
- "json5": "application/json5",
- "jsonld": "application/ld+json",
- "jsonml": "application/jsonml+json",
- "jsx": "text/jsx",
- "jtd": "text/vnd.esmertec.theme-descriptor",
- "jut": "image/jutvision",
- "kar": "audio/midi",
- "karbon": "application/vnd.kde.karbon",
- "kcm": "application/vnd.nervana",
- "key": "application/pgp-keys",
- "keynote": "application/vnd.apple.keynote",
- "kfo": "application/vnd.kde.kformula",
- "kia": "application/vnd.kidspiration",
- "kil": "application/x-killustrator",
- "kin": "chemical/x-kinemage",
- "kml": "application/vnd.google-earth.kml+xml",
- "kmz": "application/vnd.google-earth.kmz",
- "kne": "application/vnd.kinar",
- "knp": "application/vnd.kinar",
- "kom": "application/vnd.hbci",
- "kon": "application/vnd.kde.kontour",
- "koz": "audio/vnd.audikoz",
- "kpr": "application/vnd.kde.kpresenter",
- "kpt": "application/vnd.kde.kpresenter",
- "kpxx": "application/vnd.ds-keypoint",
- "ksh": "application/x-ksh",
- "ksp": "application/vnd.kde.kspread",
- "kt": "text/kotlin",
- "ktr": "application/vnd.kahootz",
- "ktx": "image/ktx",
- "ktz": "application/vnd.kahootz",
- "kwd": "application/vnd.kde.kword",
- "kwt": "application/vnd.kde.kword",
- "l16": "audio/l16",
- "la": "audio/nspaudio",
- "lam": "audio/x-liveaudio",
- "lasjson": "application/vnd.las.las+json",
- "lasxml": "application/vnd.las.las+xml",
- "latex": "application/x-latex",
- "lbc": "audio/ilbc",
- "lbd": "application/vnd.llamagraphics.life-balance.desktop",
- "lbe": "application/vnd.llamagraphics.life-balance.exchange+xml",
- "le": "application/vnd.bluetooth.le.oob",
- "les": "application/vnd.hhe.lesson-player",
- "less": "text/less",
- "lgr": "application/lgr+xml",
- "lha": "application/octet-stream",
- "lhs": "text/x-literate-haskell",
- "lhx": "application/octet-stream",
- "lin": "application/bbolin",
- "link66": "application/vnd.route66.link66+xml",
- "list": "text/plain",
- "list3820": "application/vnd.ibm.modcap",
- "listafp": "application/vnd.ibm.modcap",
- "lmp": "model/vnd.gdl",
- "lnk": "application/x-ms-shortcut",
- "log": "text/plain",
- "lostsyncxml": "application/lostsync+xml",
- "lostxml": "application/lost+xml",
- "lrf": "application/octet-stream",
- "lrm": "application/vnd.ms-lrm",
- "lsf": "video/x-la-asf",
- "lsp": "text/x-script.lisp",
- "lst": "text/plain",
- "lsx": "video/x-la-asf",
- "ltf": "application/vnd.frogans.ltf",
- "ltx": "application/x-latex",
- "lua": "text/x-lua",
- "luac": "application/x-lua-bytecode",
- "lvp": "audio/vnd.lucent.voice",
- "lwp": "application/vnd.lotus-wordpro",
- "lxf": "application/lxf",
- "lyx": "application/x-lyx",
- "lzh": "application/octet-stream",
- "lzx": "application/x-lzx",
- "m": "application/vnd.wolfram.mathematica.package",
- "m13": "application/x-msmediaview",
- "m14": "application/x-msmediaview",
- "m15": "audio/x-mod",
- "m1v": "video/mpeg",
- "m21": "application/mp21",
- "m2a": "audio/mpeg",
- "m2v": "video/mpeg",
- "m3a": "audio/mpeg",
- "m3g": "application/m3g",
- "m3u": "audio/x-mpegurl",
- "m3u8": "application/vnd.apple.mpegurl",
- "m4a": "audio/x-m4a",
- "m4s": "video/iso.segment",
- "m4u": "video/vnd.mpegurl",
- "m4v": "video/x-m4v",
- "ma": "application/mathematica",
- "mads": "application/mads+xml",
- "mag": "application/vnd.ecowin.chart",
- "mail": "message/rfc822",
- "maker": "application/vnd.framemaker",
- "man": "application/x-troff-man",
- "manifest": "text/cache-manifest",
- "map": "application/x-navimap",
- "mar": "text/plain",
- "markdown": "text/markdown",
- "mathml": "application/mathml+xml",
- "mb": "application/mathematica",
- "mbd": "application/mbedlet",
- "mbk": "application/vnd.mobius.mbk",
- "mbox": "application/mbox",
- "mc$": "application/x-magic-cap-package-1.0",
- "mc1": "application/vnd.medcalcdata",
- "mcd": "application/vnd.mcd",
- "mcf": "image/vasa",
- "mcif": "chemical/x-mmcif",
- "mcm": "chemical/x-macmolecule",
- "mcp": "application/netmc",
- "mcurl": "text/vnd.curl.mcurl",
- "md": "text/markdown",
- "mdb": "application/x-msaccess",
- "mdc": "application/vnd.marlin.drm.mdcf",
- "mdi": "image/vnd.ms-modi",
- "me": "application/x-troff-me",
- "med": "audio/x-mod",
- "mesh": "model/mesh",
- "meta4": "application/metalink4+xml",
- "metalink": "application/metalink+xml",
- "mets": "application/mets+xml",
- "mf4": "application/mf4",
- "mfm": "application/vnd.mfmp",
- "mft": "application/rpki-manifest",
- "mgp": "application/vnd.osgeo.mapguide.package",
- "mgz": "application/vnd.proteus.magazine",
- "mht": "message/rfc822",
- "mhtml": "message/rfc822",
- "mib": "text/mib",
- "mid": "audio/midi",
- "midi": "audio/midi",
- "mie": "application/x-mie",
- "mif": "application/x-mif",
- "mime": "message/rfc822",
- "miz": "text/mizar",
- "mj2": "video/mj2",
- "mjf": "audio/x-vnd.audioexplosion.mjuicemediafile",
- "mjp2": "video/mj2",
- "mjpg": "video/x-motion-jpeg",
- "mjs": "application/javascript",
- "mk": "text/makefile",
- "mk3d": "video/x-matroska-3d",
- "mka": "audio/x-matroska",
- "mkd": "text/x-markdown",
- "mks": "video/x-matroska",
- "mkv": "video/x-matroska",
- "mlp": "application/vnd.dolby.mlp",
- "mm": "application/x-freemind",
- "mmd": "application/vnd.chipnuts.karaoke-mmd",
- "mmdb": "application/vnd.maxmind.maxmind-db",
- "mme": "application/base64",
- "mmf": "application/vnd.smaf",
- "mml": "text/mathml",
- "mmod": "chemical/x-macromodel-input",
- "mmr": "image/vnd.fujixerox.edmics-mmr",
- "mms": "application/vnd.wap.mms-message",
- "mng": "video/x-mng",
- "mny": "application/x-msmoney",
- "mobi": "application/x-mobipocket-ebook",
- "moc": "text/x-moc",
- "mod": "audio/x-mod",
- "model-inter": "application/vnd.vd-study",
- "mods": "application/mods+xml",
- "modulemap": "text/modulemap",
- "mol": "chemical/x-mdl-molfile",
- "mol2": "chemical/x-mol2",
- "moml": "model/vnd.moml+xml",
- "moo": "chemical/x-mopac-out",
- "moov": "video/quicktime",
- "mop": "chemical/x-mopac-input",
- "mopcrt": "chemical/x-mopac-input",
- "mov": "video/quicktime",
- "movie": "video/x-sgi-movie",
- "mp1": "audio/mpeg",
- "mp2": "audio/mpeg",
- "mp21": "application/mp21",
- "mp2a": "audio/mpeg",
- "mp3": "audio/mp3",
- "mp4": "video/mp4",
- "mp4a": "audio/mp4",
- "mp4s": "application/mp4",
- "mp4v": "video/mp4",
- "mpa": "video/mpeg",
- "mpc": "application/vnd.mophun.certificate",
- "mpd": "application/dash+xml",
- "mpdd": "application/dashdelta",
- "mpe": "video/mpeg",
- "mpeg": "video/mpeg",
- "mpega": "audio/mpeg",
- "mpf": "text/vnd.ms-mediapackage",
- "mpg": "video/mpeg",
- "mpg4": "video/mp4",
- "mpga": "audio/mpeg",
- "mpkg": "application/vnd.apple.installer+xml",
- "mpm": "application/vnd.blueice.multipass",
- "mpn": "application/vnd.mophun.application",
- "mpp": "application/vnd.ms-project",
- "mpt": "application/vnd.ms-project",
- "mpv": "application/x-project",
- "mpv2": "video/mpeg",
- "mpx": "application/x-project",
- "mpy": "application/vnd.ibm.minipay",
- "mqy": "application/vnd.mobius.mqy",
- "mrc": "application/marc",
- "mrcx": "application/marcxml+xml",
- "ms": "application/x-troff-ms",
- "msa": "application/vnd.msa-disk-image",
- "mscml": "application/mediaservercontrol+xml",
- "msd": "application/vnd.fdsn.mseed",
- "mseed": "application/vnd.fdsn.mseed",
- "mseq": "application/vnd.mseq",
- "msf": "application/vnd.epson.msf",
- "msg": "application/vnd.ms-outlook",
- "msh": "model/mesh",
- "msi": "application/x-msi",
- "msl": "application/vnd.mobius.msl",
- "msm": "model/vnd.gdl",
- "msty": "application/vnd.muvee.style",
- "mtm": "audio/x-mod",
- "mts": "model/vnd.mts",
- "multitrack": "audio/vnd.presonus.multitrack",
- "mus": "application/vnd.musician",
- "musd": "application/mmt-usd+xml",
- "musicxml": "application/vnd.recordare.musicxml+xml",
- "mv": "video/x-sgi-movie",
- "mvb": "application/x-msmediaview",
- "mvt": "application/vnd.mapbox-vector-tile",
- "mwc": "application/vnd.dpgraph",
- "mwf": "application/vnd.mfer",
- "mxf": "application/mxf",
- "mxi": "application/vnd.vd-study",
- "mxl": "application/vnd.recordare.musicxml",
- "mxmf": "audio/mobile-xmf",
- "mxml": "application/xv+xml",
- "mxs": "application/vnd.triscape.mxs",
- "mxu": "video/vnd.mpegurl",
- "my": "audio/make",
- "mzz": "application/x-vnd.audioexplosion.mzz",
- "n-gage": "application/vnd.nokia.n-gage.symbian.install",
- "n3": "text/n3",
- "nap": "image/naplps",
- "naplps": "image/naplps",
- "nb": "application/mathematica",
- "nbp": "application/vnd.wolfram.player",
- "nc": "application/x-netcdf",
- "ncm": "application/vnd.nokia.configuration-message",
- "ncx": "application/x-dtbncx+xml",
- "ndc": "application/vnd.osa.netdeploy",
- "ndjson": "application/json",
- "ndl": "application/vnd.lotus-notes",
- "nds": "application/vnd.nintendo.nitro.rom",
- "nef": "image/x-nikon-nef",
- "nfo": "text/x-nfo",
- "ngdat": "application/vnd.nokia.n-gage.data",
- "ngdoc": "text/ngdoc",
- "nif": "image/x-niff",
- "niff": "image/x-niff",
- "nim": "text/nim",
- "nimble": "text/nimble",
- "nimf": "text/nim",
- "nims": "text/nim",
- "nitf": "application/vnd.nitf",
- "nix": "application/x-mix-transfer",
- "nlu": "application/vnd.neurolanguage.nlu",
- "nml": "application/vnd.enliven",
- "nnd": "application/vnd.noblenet-directory",
- "nns": "application/vnd.noblenet-sealer",
- "nnw": "application/vnd.noblenet-web",
- "notebook": "application/vnd.smart.notebook",
- "npx": "image/vnd.net-fpx",
- "nq": "application/n-quads",
- "ns2": "application/vnd.lotus-notes",
- "ns3": "application/vnd.lotus-notes",
- "ns4": "application/vnd.lotus-notes",
- "nsc": "application/x-conference",
- "nsf": "application/vnd.lotus-notes",
- "nsg": "application/vnd.lotus-notes",
- "nsh": "application/vnd.lotus-notes",
- "nt": "application/n-triples",
- "ntf": "application/vnd.lotus-notes",
- "numbers": "application/vnd.apple.numbers",
- "nvd": "application/x-navidoc",
- "nwc": "application/x-nwc",
- "nws": "message/rfc822",
- "nzb": "application/x-nzb",
- "o": "application/x-object",
- "o4a": "application/vnd.oma.drm.dcf",
- "o4v": "application/vnd.oma.drm.dcf",
- "oa2": "application/vnd.fujitsu.oasys2",
- "oa3": "application/vnd.fujitsu.oasys3",
- "oas": "application/vnd.fujitsu.oasys",
- "obd": "application/x-msbinder",
- "obg": "application/vnd.openblox.game-binary",
- "obgx": "application/vnd.openblox.game+xml",
- "obj": "application/x-tgif",
- "oda": "application/oda",
- "odb": "application/vnd.oasis.opendocument.database",
- "odc": "application/vnd.oasis.opendocument.chart",
- "odd": "application/tei+xml",
- "odf": "application/vnd.oasis.opendocument.formula",
- "odft": "application/vnd.oasis.opendocument.formula-template",
- "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",
- "odx": "application/odx",
- "oeb": "application/vnd.openeye.oeb",
- "oga": "audio/ogg",
- "ogex": "model/vnd.opengex",
- "ogg": "audio/ogg",
- "ogv": "video/ogg",
- "ogx": "application/ogg",
- "old": "application/x-trash",
- "omc": "application/x-omc",
- "omcd": "application/x-omcdatamaker",
- "omcr": "application/x-omcregerator",
- "omdoc": "application/omdoc+xml",
- "omg": "audio/atrac3",
- "onepkg": "application/onenote",
- "onetmp": "application/onenote",
- "onetoc": "application/onenote",
- "onetoc2": "application/onenote",
- "opf": "application/oebps-package+xml",
- "opml": "text/x-opml",
- "oprc": "application/vnd.palm",
- "opus": "audio/ogg",
- "or2": "application/vnd.lotus-organizer",
- "or3": "application/vnd.lotus-organizer",
- "orf": "image/x-olympus-orf",
- "org": "text/x-org",
- "orq": "application/ocsp-request",
- "ors": "application/ocsp-response",
- "osf": "application/vnd.yamaha.openscoreformat",
- "osfpvg": "application/vnd.yamaha.openscoreformat.osfpvg+xml",
- "osm": "application/vnd.openstreetmap.data+xml",
- "otc": "application/vnd.oasis.opendocument.chart-template",
- "otf": "font/otf",
- "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",
- "ova": "application/x-virtualbox-ova",
- "ovf": "application/x-virtualbox-ovf",
- "owx": "application/owl+xml",
- "oxlicg": "application/vnd.oxli.countgraph",
- "oxps": "application/oxps",
- "oxt": "application/vnd.openofficeorg.extension",
- "oza": "application/x-oz-application",
- "p": "text/x-pascal",
- "p10": "application/pkcs10",
- "p12": "application/pkcs12",
- "p2p": "application/vnd.wfa.p2p",
- "p7a": "application/x-pkcs7-signature",
- "p7b": "application/x-pkcs7-certificates",
- "p7c": "application/pkcs7-mime",
- "p7m": "application/pkcs7-mime",
- "p7r": "application/x-pkcs7-certreqresp",
- "p7s": "application/pkcs7-signature",
- "p8": "application/pkcs8",
- "pac": "application/x-ns-proxy-autoconfig",
- "pack": "application/x-java-pack200",
- "package": "application/vnd.autopackage",
- "pages": "application/vnd.apple.pages",
- "par": "text/plain-bas",
- "part": "application/pro_eng",
- "pas": "text/pascal",
- "pat": "image/x-coreldrawpattern",
- "patch": "text/x-diff",
- "paw": "application/vnd.pawaafile",
- "pbd": "application/vnd.powerbuilder6",
- "pbm": "image/x-portable-bitmap",
- "pcap": "application/vnd.tcpdump.pcap",
- "pcf": "application/x-font-pcf",
- "pcl": "application/vnd.hp-pcl",
- "pclxl": "application/vnd.hp-pclxl",
- "pct": "image/x-pict",
- "pcurl": "application/vnd.curl.pcurl",
- "pcx": "image/x-pcx",
- "pdb": "application/vnd.palm",
- "pde": "text/x-processing",
- "pdf": "application/pdf",
- "pdx": "application/pdx",
- "pem": "text/pem",
- "pfa": "application/x-font-type1",
- "pfb": "application/x-font-type1",
- "pfm": "application/x-font-type1",
- "pfr": "application/font-tdpfr",
- "pfunk": "audio/make",
- "pfx": "application/pkcs12",
- "pgb": "image/vnd.globalgraphics.pgb",
- "pgm": "image/x-portable-graymap",
- "pgn": "application/x-chess-pgn",
- "pgp": "application/pgp-encrypted",
- "php": "application/x-httpd-php",
- "php3": "application/x-httpd-php3",
- "php3p": "application/x-httpd-php3-preprocessed",
- "php4": "application/x-httpd-php4",
- "php5": "application/x-httpd-php5",
- "phps": "application/x-httpd-php-source",
- "pht": "application/x-httpd-php",
- "phtml": "application/x-httpd-php",
- "pic": "image/pict",
- "pict": "image/pict",
- "pil": "application/vnd.piaccess.application-license",
- "pk": "application/x-tex-pk",
- "pkd": "application/vnd.hbci",
- "pkg": "application/vnd.apple.installer+xml",
- "pki": "application/pkixcmp",
- "pkipath": "application/pkix-pkipath",
- "pko": "application/ynd.ms-pkipko",
- "pkpass": "application/vnd.apple.pkpass",
- "pl": "application/x-perl",
- "plantuml": "text/plantuml",
- "plb": "application/vnd.3gpp.pic-bw-large",
- "plc": "application/vnd.mobius.plc",
- "plf": "application/vnd.pocketlearn",
- "plj": "audio/vnd.everad.plj",
- "plp": "application/vnd.panoply",
- "pls": "application/pls+xml",
- "plx": "application/x-pixclscript",
- "ply": "model/stanford",
- "pm": "text/plain",
- "pm4": "application/x-pagemaker",
- "pm5": "application/x-pagemaker",
- "pma": "application/x-perfmon",
- "pmc": "application/x-perfmon",
- "pml": "application/vnd.ctc-posml",
- "pmr": "application/x-perfmon",
- "pmw": "application/x-perfmon",
- "png": "image/png",
- "pnm": "image/x-portable-anymap",
- "po": "text/pofile",
- "pod": "text/x-pod",
- "portpkg": "application/vnd.macports.portpkg",
- "pot": "application/vnd.ms-powerpoint",
- "potm": "application/vnd.ms-powerpoint.template.macroenabled.12",
- "potx": "application/vnd.openxmlformats-officedocument.presentationml.template",
- "pov": "model/x-pov",
- "pp": "text/puppet",
- "ppa": "application/vnd.ms-powerpoint",
- "ppam": "application/vnd.ms-powerpoint.addin.macroenabled.12",
- "ppd": "application/vnd.cups-ppd",
- "ppkg": "application/vnd.xmpie.ppkg",
- "ppm": "image/x-portable-pixmap",
- "pps": "application/vnd.ms-powerpoint",
- "ppsm": "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
- "ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
- "ppt": "application/vnd.ms-powerpoint",
- "pptm": "application/vnd.ms-powerpoint.presentation.macroenabled.12",
- "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
- "ppz": "application/mspowerpoint",
- "pqa": "application/vnd.palm",
- "prc": "application/vnd.palm",
- "pre": "application/vnd.lotus-freelance",
- "preminet": "application/vnd.preminet",
- "prf": "application/pics-rules",
- "proto": "text/proto",
- "provn": "text/provenance-notation",
- "provx": "application/provenance+xml",
- "prt": "application/pro_eng",
- "prz": "application/vnd.lotus-freelance",
- "ps": "application/postscript",
- "psb": "application/vnd.3gpp.pic-bw-small",
- "psd": "image/vnd.adobe.photoshop",
- "pseg3820": "application/vnd.ibm.modcap",
- "psf": "application/x-font-linux-psf",
- "psid": "audio/prs.sid",
- "pskcxml": "application/pskc+xml",
- "pti": "image/prs.pti",
- "ptid": "application/vnd.pvi.ptid1",
- "pub": "application/x-mspublisher",
- "purs": "text/purescript",
- "pvb": "application/vnd.3gpp.pic-bw-var",
- "pvu": "paleovu/x-pv",
- "pwn": "application/vnd.3m.post-it-notes",
- "pwz": "application/vnd.ms-powerpoint",
- "pxd": "text/cython",
- "pxi": "text/cython",
- "py": "text/x-script.phyton",
- "pya": "audio/vnd.ms-playready.media.pya",
- "pyc": "application/x-python-code",
- "pyi": "text/pyi",
- "pyo": "application/x-python-code",
- "pyv": "video/vnd.ms-playready.media.pyv",
- "pyx": "text/cython",
- "qam": "application/vnd.epson.quickanime",
- "qbo": "application/vnd.intu.qbo",
- "qca": "application/vnd.ericsson.quickcall",
- "qcall": "application/vnd.ericsson.quickcall",
- "qcp": "audio/qcelp",
- "qd3": "x-world/x-3dmf",
- "qd3d": "x-world/x-3dmf",
- "qfx": "application/vnd.intu.qfx",
- "qgs": "application/x-qgis",
- "qif": "image/x-quicktime",
- "qps": "application/vnd.publishare-delta-tree",
- "qt": "video/quicktime",
- "qtc": "video/x-qtc",
- "qti": "image/x-quicktime",
- "qtif": "image/x-quicktime",
- "qtl": "application/x-quicktimeplayer",
- "quiz": "application/vnd.quobject-quoxdocument",
- "quox": "application/vnd.quobject-quoxdocument",
- "qvd": "application/vnd.theqvd",
- "qwd": "application/vnd.quark.quarkxpress",
- "qwt": "application/vnd.quark.quarkxpress",
- "qxb": "application/vnd.quark.quarkxpress",
- "qxd": "application/vnd.quark.quarkxpress",
- "qxl": "application/vnd.quark.quarkxpress",
- "qxt": "application/vnd.quark.quarkxpress",
- "r": "text/r",
- "ra": "audio/x-realaudio",
- "ram": "audio/x-pn-realaudio",
- "raml": "application/raml+yaml",
- "rapd": "application/route-apd+xml",
- "rar": "application/x-rar-compressed",
- "ras": "image/x-cmu-raster",
- "rast": "image/cmu-raster",
- "rb": "application/x-ruby",
- "rcprofile": "application/vnd.ipunplugged.rcprofile",
- "rct": "application/prs.nprend",
- "rd": "chemical/x-mdl-rdfile",
- "rda": "text/r",
- "rdata": "text/r",
- "rds": "text/r",
- "rdf": "application/rdf+xml",
- "rdf-crypt": "application/prs.rdf-xml-crypt",
- "rdz": "application/vnd.data-vision.rdz",
- "relo": "application/p2p-overlay+xml",
- "rep": "application/vnd.businessobjects",
- "request": "application/vnd.nervana",
- "res": "application/x-dtbresource+xml",
- "rexx": "text/x-script.rexx",
- "rf": "image/vnd.rn-realflash",
- "rfcxml": "application/rfc+xml",
- "rgb": "image/x-rgb",
- "rgbe": "image/vnd.radiance",
- "rhtml": "application/x-httpd-eruby",
- "rif": "application/reginfo+xml",
- "rip": "audio/vnd.rip",
- "ris": "application/x-research-info-systems",
- "rl": "application/resource-lists+xml",
- "rlc": "image/vnd.fujixerox.edmics-rlc",
- "rld": "application/resource-lists-diff+xml",
- "rlib": "text/rust",
- "rm": "application/vnd.rn-realmedia",
- "rmi": "audio/mid",
- "rmm": "audio/x-pn-realaudio",
- "rmp": "audio/x-pn-realaudio-plugin",
- "rms": "application/vnd.jcp.javame.midlet-rms",
- "rmvb": "application/vnd.rn-realmedia-vbr",
- "rnc": "application/relax-ng-compact-syntax",
- "rnd": "application/prs.nprend",
- "rng": "text/xml",
- "rnx": "application/vnd.rn-realplayer",
- "roa": "application/rpki-roa",
- "roff": "text/troff",
- "ros": "chemical/x-rosdal",
- "rp": "image/vnd.rn-realpix",
- "rp9": "application/vnd.cloanto.rp9",
- "rpm": "application/x-redhat-package-manager",
- "rpss": "application/vnd.nokia.radio-presets",
- "rpst": "application/vnd.nokia.radio-preset",
- "rq": "application/sparql-query",
- "rs": "application/rls-services+xml",
- "rsd": "application/rsd+xml",
- "rsheet": "application/urc-ressheet+xml",
- "rsm": "model/vnd.gdl",
- "rss": "application/rss+xml",
- "rst": "text/prs.fallenstein.rst",
- "rt": "text/richtext",
- "rtf": "text/rtf",
- "rtx": "text/richtext",
- "run": "application/x-makeself",
- "rusd": "application/route-usd+xml",
- "rv": "video/vnd.rn-realvideo",
- "rxn": "chemical/x-mdl-rxnfile",
- "s": "text/x-asm",
- "s11": "video/vnd.sealed.mpeg1",
- "s14": "video/vnd.sealed.mpeg4",
- "s1a": "application/vnd.sealedmedia.softseal.pdf",
- "s1e": "application/vnd.sealed.xls",
- "s1g": "image/vnd.sealedmedia.softseal.gif",
- "s1h": "application/vnd.sealedmedia.softseal.html",
- "s1j": "image/vnd.sealedmedia.softseal.jpg",
- "s1m": "audio/vnd.sealedmedia.softseal.mpeg",
- "s1n": "image/vnd.sealed.png",
- "s1p": "application/vnd.sealed.ppt",
- "s1q": "video/vnd.sealedmedia.softseal.mov",
- "s1w": "application/vnd.sealed.doc",
- "s3df": "application/vnd.sealed.3df",
- "s3m": "audio/s3m",
- "sac": "application/tamp-sequence-adjust-confirm",
- "saf": "application/vnd.yamaha.smaf-audio",
- "sam": "application/vnd.lotus-wordpro",
- "sandboxed": "text/html-sandboxed",
- "sass": "text/x-sass",
- "saveme": "application/octet-stream",
- "sbk": "application/x-tbook",
- "sbml": "application/sbml+xml",
- "sc": "application/vnd.ibm.secure-container",
- "scala": "text/x-scala",
- "scd": "application/x-msschedule",
- "sce": "application/vnd.etsi.asic-e+zip",
- "scim": "application/scim+json",
- "scld": "application/vnd.doremir.scorecloud-binary-document",
- "scm": "application/vnd.lotus-screencam",
- "scq": "application/scvp-cv-request",
- "scr": "application/x-silverlight",
- "scs": "application/scvp-cv-response",
- "scsf": "application/vnd.sealed.csf",
- "scss": "text/x-scss",
- "sct": "text/scriptlet",
- "scurl": "text/vnd.curl.scurl",
- "sd": "chemical/x-mdl-sdfile",
- "sd2": "audio/x-sd2",
- "sda": "application/vnd.stardivision.draw",
- "sdc": "application/vnd.stardivision.calc",
- "sdd": "application/vnd.stardivision.impress",
- "sdf": "application/vnd.kinar",
- "sdkd": "application/vnd.solent.sdkm+xml",
- "sdkm": "application/vnd.solent.sdkm+xml",
- "sdml": "text/plain",
- "sdo": "application/vnd.sealed.doc",
- "sdoc": "application/vnd.sealed.doc",
- "sdp": "application/sdp",
- "sdr": "application/sounder",
- "sdw": "application/vnd.stardivision.writer",
- "sea": "application/x-sea",
- "see": "application/vnd.seemail",
- "seed": "application/vnd.fdsn.seed",
- "sem": "application/vnd.sealed.eml",
- "sema": "application/vnd.sema",
- "semd": "application/vnd.semd",
- "semf": "application/vnd.semf",
- "seml": "application/vnd.sealed.eml",
- "ser": "application/java-serialized-object",
- "set": "application/set",
- "setpay": "application/set-payment-initiation",
- "setreg": "application/set-registration-initiation",
- "sfc": "application/vnd.nintendo.snes.rom",
- "sfd": "application/vnd.font-fontforge-sfd",
- "sfd-hdstx": "application/vnd.hydrostatix.sof-data",
- "sfs": "application/vnd.spotfire.sfs",
- "sfv": "text/x-sfv",
- "sgf": "application/x-go-sgf",
- "sgi": "image/sgi",
- "sgif": "image/vnd.sealedmedia.softseal.gif",
- "sgl": "application/vnd.stardivision.writer-global",
- "sgm": "text/sgml",
- "sgml": "text/sgml",
- "sh": "application/x-sh",
- "shar": "application/x-shar",
- "shex": "text/shex",
- "shf": "application/shf+xml",
- "shp": "application/x-qgis",
- "shx": "application/x-qgis",
- "si": "text/vnd.wap.si",
- "sic": "application/vnd.wap.sic",
- "sid": "image/x-mrsid-image",
- "sieve": "application/sieve",
- "sig": "application/pgp-signature",
- "sik": "application/x-trash",
- "sil": "audio/silk",
- "silo": "model/mesh",
- "sis": "application/vnd.symbian.install",
- "sisx": "x-epoc/x-sisx-app",
- "sit": "application/x-stuffit",
- "sitx": "application/x-stuffitx",
- "siv": "application/sieve",
- "sjp": "image/vnd.sealedmedia.softseal.jpg",
- "sjpg": "image/vnd.sealedmedia.softseal.jpg",
- "skd": "application/vnd.koan",
- "skm": "application/vnd.koan",
- "skp": "application/vnd.koan",
- "skt": "application/vnd.koan",
- "sl": "text/vnd.wap.sl",
- "sla": "application/vnd.scribus",
- "slaz": "application/vnd.scribus",
- "slc": "application/vnd.wap.slc",
- "sldm": "application/vnd.ms-powerpoint.slide.macroenabled.12",
- "sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide",
- "sls": "application/route-s-tsid+xml",
- "slt": "application/vnd.epson.salt",
- "sm": "application/vnd.stepmania.stepchart",
- "smc": "application/vnd.nintendo.snes.rom",
- "smf": "application/vnd.stardivision.math",
- "smh": "application/vnd.sealed.mht",
- "smht": "application/vnd.sealed.mht",
- "smi": "application/smil+xml",
- "smil": "application/smil+xml",
- "smk": "video/vnd.radgamettools.smacker",
- "sml": "application/smil+xml",
- "smo": "video/vnd.sealedmedia.softseal.mov",
- "smov": "video/vnd.sealedmedia.softseal.mov",
- "smp": "audio/vnd.sealedmedia.softseal.mpeg",
- "smp3": "audio/vnd.sealedmedia.softseal.mpeg",
- "smpg": "video/vnd.sealed.mpeg1",
- "sms": "application/vnd.3gpp2.sms",
- "smv": "video/x-smv",
- "smzip": "application/vnd.stepmania.package",
- "snd": "audio/basic",
- "snf": "application/x-font-snf",
- "so": "application/octet-stream",
- "soa": "text/dns",
- "soc": "application/sgml-open-catalog",
- "sol": "application/solids",
- "spc": "text/x-speech",
- "spd": "application/vnd.sealedmedia.softseal.pdf",
- "spdf": "application/vnd.sealedmedia.softseal.pdf",
- "spec": "text/spec",
- "spf": "application/vnd.yamaha.smaf-phrase",
- "spl": "application/x-futuresplash",
- "spn": "image/vnd.sealed.png",
- "spng": "image/vnd.sealed.png",
- "spo": "text/vnd.in3d.spot",
- "spot": "text/vnd.in3d.spot",
- "spp": "application/scvp-vp-response",
- "sppt": "application/vnd.sealed.ppt",
- "spq": "application/scvp-vp-request",
- "spr": "application/x-sprite",
- "sprite": "application/x-sprite",
- "spx": "audio/ogg",
- "sql": "application/x-sql",
- "sr": "application/vnd.sigrok.session",
- "src": "application/x-wais-source",
- "srt": "application/x-subrip",
- "sru": "application/sru+xml",
- "srx": "application/sparql-results+xml",
- "ssdl": "application/ssdl+xml",
- "sse": "application/vnd.kodak-descriptor",
- "ssf": "application/vnd.epson.ssf",
- "ssi": "text/x-server-parsed-html",
- "ssm": "application/streamingmedia",
- "ssml": "application/ssml+xml",
- "sst": "application/vnd.ms-pki.certstore",
- "ssw": "video/vnd.sealed.swf",
- "sswf": "video/vnd.sealed.swf",
- "st": "application/vnd.sailingtracker.track",
- "stc": "application/vnd.sun.xml.calc.template",
- "std": "application/vnd.sun.xml.draw.template",
- "step": "application/step",
- "stf": "application/vnd.wt.stf",
- "sti": "application/vnd.sun.xml.impress.template",
- "stif": "application/vnd.sealed.tiff",
- "stk": "application/hyperstudio",
- "stl": "application/vnd.ms-pki.stl",
- "stm": "audio/x-stm",
- "stml": "application/vnd.sealedmedia.softseal.html",
- "stp": "application/step",
- "str": "application/vnd.pg.format",
- "study-inter": "application/vnd.vd-study",
- "stw": "application/vnd.sun.xml.writer.template",
- "sty": "text/x-tex",
- "styl": "text/stylus",
- "sub": "text/vnd.dvb.subtitle",
- "sus": "application/vnd.sus-calendar",
- "susp": "application/vnd.sus-calendar",
- "sv4cpio": "application/x-sv4cpio",
- "sv4crc": "application/x-sv4crc",
- "svc": "application/vnd.dvb.service",
- "svd": "application/vnd.svd",
- "svf": "image/x-dwg",
- "svg": "image/svg+xml",
- "svgz": "image/svg+xml",
- "sw": "chemical/x-swissprot",
- "swa": "application/x-director",
- "swf": "application/x-shockwave-flash",
- "swfl": "application/x-shockwave-flash",
- "swi": "application/vnd.aristanetworks.swi",
- "swift": "text/swift",
- "swiftdeps": "text/swiftdeps",
- "sxc": "application/vnd.sun.xml.calc",
- "sxd": "application/vnd.sun.xml.draw",
- "sxg": "application/vnd.sun.xml.writer.global",
- "sxi": "application/vnd.sun.xml.impress",
- "sxl": "application/vnd.sealed.xls",
- "sxls": "application/vnd.sealed.xls",
- "sxm": "application/vnd.sun.xml.math",
- "sxw": "application/vnd.sun.xml.writer",
- "t": "text/troff",
- "t3": "application/x-t3vm-image",
- "t38": "image/t38",
- "tac": "text/twisted",
- "tag": "text/prs.lines.tag",
- "taglet": "application/vnd.mynfc",
- "talk": "text/x-speech",
- "tam": "application/vnd.onepager",
- "tamp": "application/vnd.onepagertamp",
- "tamx": "application/vnd.onepagertamx",
- "tao": "application/vnd.tao.intent-module-archive",
- "tap": "image/vnd.tencent.tap",
- "tar": "application/x-tar",
- "tat": "application/vnd.onepagertat",
- "tatp": "application/vnd.onepagertatp",
- "tatx": "application/vnd.onepagertatx",
- "tau": "application/tamp-apex-update",
- "taz": "application/x-gtar",
- "tbk": "application/toolbook",
- "tcap": "application/vnd.3gpp2.tcap",
- "tcl": "application/x-tcl",
- "tcsh": "text/x-script.tcsh",
- "tcu": "application/tamp-community-update",
- "td": "application/urc-targetdesc+xml",
- "teacher": "application/vnd.smart.teacher",
- "tei": "application/tei+xml",
- "teicorpus": "application/tei+xml",
- "ter": "application/tamp-error",
- "tex": "application/x-tex",
- "texi": "application/x-texinfo",
- "texinfo": "application/x-texinfo",
- "text": "text/plain",
- "tf": "text/terraform",
- "tfi": "application/thraud+xml",
- "tfm": "application/x-tex-tfm",
- "tfx": "image/tiff-fx",
- "tga": "image/x-tga",
- "tgf": "chemical/x-mdl-tgf",
- "tgz": "application/gzip",
- "thmx": "application/vnd.ms-officetheme",
- "thrift": "text/thrift",
- "tif": "image/tiff",
- "tiff": "image/tiff",
- "tk": "text/x-tcl",
- "tlclient": "application/vnd.cendio.thinlinc.clientconf",
- "tm": "text/texmacs",
- "tmo": "application/vnd.tmobile-livetv",
- "tnef": "application/vnd.ms-tnef",
- "tnf": "application/vnd.ms-tnef",
- "toml": "text/toml",
- "torrent": "application/x-bittorrent",
- "tpl": "application/vnd.groove-tool-template",
- "tpt": "application/vnd.trid.tpt",
- "tr": "text/troff",
- "tra": "application/vnd.trueapp",
- "tree": "application/vnd.rainstor.data",
- "trig": "application/trig",
- "trm": "application/x-msterminal",
- "ts": "video/mp2t",
- "tsa": "application/tamp-sequence-adjust",
- "tscn": "text/godot",
- "tsd": "application/timestamped-data",
- "tsi": "audio/tsp-audio",
- "tsp": "audio/tsplayer",
- "tsq": "application/timestamp-query",
- "tsr": "application/timestamp-reply",
- "tst": "application/vnd.etsi.timestamp-token",
- "tsv": "text/tab-separated-values",
- "tsx": "text/tsx",
- "ttc": "font/collection",
- "ttf": "font/ttf",
- "ttl": "text/turtle",
- "ttml": "application/ttml+xml",
- "tuc": "application/tamp-update-confirm",
- "tur": "application/tamp-update",
- "turbot": "image/florian",
- "twd": "application/vnd.simtech-mindmapper",
- "twds": "application/vnd.simtech-mindmapper",
- "txd": "application/vnd.genomatix.tuxedo",
- "txf": "application/vnd.mobius.txf",
- "txt": "text/plain",
- "u32": "application/x-authorware-bin",
- "u8dsn": "message/global-delivery-status",
- "u8hdr": "message/global-headers",
- "u8mdn": "message/global-disposition-notification",
- "u8msg": "message/global",
- "udeb": "application/vnd.debian.binary-package",
- "ufd": "application/vnd.ufdl",
- "ufdl": "application/vnd.ufdl",
- "uil": "text/x-uil",
- "uis": "application/urc-uisocketdesc+xml",
- "uls": "text/iuls",
- "ult": "audio/x-mod",
- "ulx": "application/x-glulx",
- "umj": "application/vnd.umajin",
- "uni": "audio/x-mod",
- "unis": "text/uri-list",
- "unityweb": "application/vnd.unity",
- "unv": "application/i-deas",
- "uo": "application/vnd.uoml+xml",
- "uoml": "application/vnd.uoml+xml",
- "upa": "application/vnd.hbci",
- "uri": "text/uri-list",
- "uric": "text/vnd.si.uricatalogue",
- "urim": "application/vnd.uri-map",
- "urimap": "application/vnd.uri-map",
- "uris": "text/uri-list",
- "urls": "text/uri-list",
- "ustar": "application/x-ustar",
- "utz": "application/vnd.uiq.theme",
- "uu": "text/x-uuencode",
- "uue": "text/x-uuencode",
- "uva": "audio/vnd.dece.audio",
- "uvd": "application/vnd.dece.data",
- "uvf": "application/vnd.dece.data",
- "uvg": "image/vnd.dece.graphic",
- "uvh": "video/vnd.dece.hd",
- "uvi": "image/vnd.dece.graphic",
- "uvm": "video/vnd.dece.mobile",
- "uvp": "video/vnd.dece.pd",
- "uvs": "video/vnd.dece.sd",
- "uvt": "application/vnd.dece.ttml+xml",
- "uvu": "video/vnd.dece.mp4",
- "uvv": "video/vnd.dece.video",
- "uvva": "audio/vnd.dece.audio",
- "uvvd": "application/vnd.dece.data",
- "uvvf": "application/vnd.dece.data",
- "uvvg": "image/vnd.dece.graphic",
- "uvvh": "video/vnd.dece.hd",
- "uvvi": "image/vnd.dece.graphic",
- "uvvm": "video/vnd.dece.mobile",
- "uvvp": "video/vnd.dece.pd",
- "uvvs": "video/vnd.dece.sd",
- "uvvt": "application/vnd.dece.ttml+xml",
- "uvvu": "video/vnd.dece.mp4",
- "uvvv": "video/vnd.dece.video",
- "uvvx": "application/vnd.dece.unspecified",
- "uvvz": "application/vnd.dece.zip",
- "uvx": "application/vnd.dece.unspecified",
- "uvz": "application/vnd.dece.zip",
- "val": "chemical/x-ncbi-asn1-binary",
- "vbk": "audio/vnd.nortel.vbk",
- "vbox": "application/x-virtualbox-vbox",
- "vbox-extpack": "application/x-virtualbox-vbox-extpack",
- "vcard": "text/vcard",
- "vcd": "application/x-cdlink",
- "vcf": "text/x-vcard",
- "vcg": "application/vnd.groove-vcard",
- "vcs": "text/x-vcalendar",
- "vcx": "application/vnd.vcx",
- "vda": "application/vda",
- "vdi": "application/x-virtualbox-vdi",
- "vdo": "video/vdo",
- "vdx": "text/vdx",
- "vew": "application/vnd.lotus-approach",
- "vfr": "application/vnd.tml",
- "vhd": "application/x-virtualbox-vhd",
- "viaframe": "application/vnd.tml",
- "vim": "text/vim",
- "vis": "application/vnd.visionary",
- "viv": "video/vnd.vivo",
- "vivo": "video/vivo",
- "vmd": "application/vocaltec-media-desc",
- "vmdk": "application/x-virtualbox-vmdk",
- "vmf": "application/vocaltec-media-file",
- "vms": "chemical/x-vamas-iso14976",
- "vmt": "application/vnd.valve.source.material",
- "vob": "video/x-ms-vob",
- "voc": "audio/voc",
- "vor": "application/vnd.stardivision.writer",
- "vos": "video/vosaic",
- "vox": "audio/voxware",
- "vpm": "multipart/voice-message",
- "vqe": "audio/x-twinvq-plugin",
- "vqf": "audio/x-twinvq",
- "vql": "audio/x-twinvq-plugin",
- "vrm": "x-world/x-vrml",
- "vrml": "model/vrml",
- "vrt": "x-world/x-vrt",
- "vsc": "application/vnd.vidsoft.vidconference",
- "vsd": "application/vnd.visio",
- "vsf": "application/vnd.vsf",
- "vss": "application/vnd.visio",
- "vst": "application/vnd.visio",
- "vsw": "application/vnd.visio",
- "vtf": "image/vnd.valve.source.texture",
- "vtt": "text/vtt",
- "vtu": "model/vnd.vtu",
- "vue": "text/vue",
- "vwx": "application/vnd.vectorworks",
- "vxml": "application/voicexml+xml",
- "w3d": "application/x-director",
- "w60": "application/wordperfect6.0",
- "w61": "application/wordperfect6.1",
- "w6w": "application/msword",
- "wad": "application/x-doom",
- "wadl": "application/vnd.sun.wadl+xml",
- "war": "binary/zip",
- "wasm": "application/wasm",
- "wav": "audio/wave",
- "wax": "audio/x-ms-wax",
- "wb1": "application/x-qpro",
- "wbmp": "image/vnd.wap.wbmp",
- "wbs": "application/vnd.criticaltools.wbs+xml",
- "wbxml": "application/vnd.wap.wbxml",
- "wcm": "application/vnd.ms-works",
- "wdb": "application/vnd.ms-works",
- "wdp": "image/vnd.ms-photo",
- "web": "application/vnd.xara",
- "weba": "audio/webm",
- "webapp": "application/x-web-app-manifest+json",
- "webm": "video/webm",
- "webmanifest": "application/manifest+json",
- "webp": "image/webp",
- "wg": "application/vnd.pmi.widget",
- "wgt": "application/widget",
- "whl": "binary/wheel",
- "wif": "application/watcherinfo+xml",
- "win": "model/vnd.gdl",
- "wiz": "application/msword",
- "wk": "application/x-123",
- "wk1": "application/vnd.lotus-1-2-3",
- "wk3": "application/vnd.lotus-1-2-3",
- "wk4": "application/vnd.lotus-1-2-3",
- "wks": "application/vnd.ms-works",
- "wkt": "text/wkt",
- "wlnk": "application/link-format",
- "wm": "video/x-ms-wm",
- "wma": "audio/x-ms-wma",
- "wmc": "application/vnd.wmc",
- "wmd": "application/x-ms-wmd",
- "wmf": "image/wmf",
- "wml": "text/vnd.wap.wml",
- "wmlc": "application/vnd.wap.wmlc",
- "wmls": "text/vnd.wap.wmlscript",
- "wmlsc": "application/vnd.wap.wmlscriptc",
- "wmv": "video/x-ms-wmv",
- "wmx": "video/x-ms-wmx",
- "wmz": "application/x-ms-wmz",
- "woff": "font/woff",
- "woff2": "font/woff2",
- "word": "application/msword",
- "wp": "application/wordperfect",
- "wp5": "application/wordperfect",
- "wp6": "application/wordperfect",
- "wpd": "application/vnd.wordperfect",
- "wpl": "application/vnd.ms-wpl",
- "wps": "application/vnd.ms-works",
- "wq1": "application/x-lotus",
- "wqd": "application/vnd.wqd",
- "wri": "application/x-mswrite",
- "wrl": "model/vrml",
- "wrz": "model/vrml",
- "wsc": "message/vnd.wfa.wsc",
- "wsdl": "application/wsdl+xml",
- "wsgi": "text/wsgi",
- "wspolicy": "application/wspolicy+xml",
- "wsrc": "application/x-wais-source",
- "wtb": "application/vnd.webturbo",
- "wtk": "application/x-wintalk",
- "wv": "application/vnd.wv.csp+wbxml",
- "wvx": "video/x-ms-wvx",
- "wz": "application/x-wingz",
- "x-png": "image/png",
- "x32": "application/x-authorware-bin",
- "x3d": "application/vnd.hzn-3d-crossword",
- "x3db": "model/x3d+xml",
- "x3dbz": "model/x3d+binary",
- "x3dv": "model/x3d-vrml",
- "x3dvz": "model/x3d-vrml",
- "x3dz": "model/x3d+xml",
- "x_b": "model/vnd.parasolid.transmit.binary",
- "x_t": "model/vnd.parasolid.transmit.text",
- "xaf": "x-world/x-vrml",
- "xaml": "application/xaml+xml",
- "xap": "application/x-silverlight-app",
- "xar": "application/vnd.xara",
- "xav": "application/xcap-att+xml",
- "xbap": "application/x-ms-xbap",
- "xbd": "application/vnd.fujixerox.docuworks.binder",
- "xbm": "image/x-xbitmap",
- "xca": "application/xcap-caps+xml",
- "xcf": "application/x-xcf",
- "xcs": "application/calendar+xml",
- "xct": "application/vnd.fujixerox.docuworks.container",
- "xdd": "application/bacnet-xdd+zip",
- "xdf": "application/xcap-diff+xml",
- "xdm": "application/vnd.syncml.dm+xml",
- "xdp": "application/vnd.adobe.xdp+xml",
- "xdr": "video/x-amt-demorun",
- "xdssc": "application/dssc+xml",
- "xdw": "application/vnd.fujixerox.docuworks",
- "xel": "application/xcap-el+xml",
- "xenc": "application/xenc+xml",
- "xer": "application/patch-ops-error+xml",
- "xfd": "application/vnd.xfdl",
- "xfdf": "application/vnd.adobe.xfdf",
- "xfdl": "application/vnd.xfdl",
- "xgz": "xgl/drawing",
- "xht": "application/xhtml+xml",
- "xhtm": "application/xhtml+xml",
- "xhtml": "application/xhtml+xml",
- "xhvml": "application/xv+xml",
- "xif": "image/vnd.xiff",
- "xl": "application/excel",
- "xla": "application/vnd.ms-excel",
- "xlam": "application/vnd.ms-excel.addin.macroenabled.12",
- "xlb": "application/vndms-excel",
- "xlc": "application/vnd.ms-excel",
- "xlf": "application/x-xliff+xml",
- "xlim": "application/vnd.xmpie.xlim",
- "xlm": "application/vnd.ms-excel",
- "xls": "application/vnd.ms-excel",
- "xlsb": "application/vnd.ms-excel.sheet.binary.macroenabled.12",
- "xlsm": "application/vnd.ms-excel.sheet.macroenabled.12",
- "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
- "xlt": "application/vnd.ms-excel",
- "xltm": "application/vnd.ms-excel.template.macroenabled.12",
- "xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
- "xlw": "application/vnd.ms-excel",
- "xm": "audio/xm",
- "xml": "text/xml",
- "xmls": "application/dskpp+xml",
- "xmt_bin": "model/vnd.parasolid.transmit.binary",
- "xmt_txt": "model/vnd.parasolid.transmit.text",
- "xmz": "xgl/movie",
- "xns": "application/xcap-ns+xml",
- "xo": "application/vnd.olpc-sugar",
- "xof": "x-world/x-vrml",
- "xop": "application/xop+xml",
- "xpdl": "application/xml",
- "xpi": "application/x-xpinstall",
- "xpix": "application/x-vnd.ls-xpix",
- "xpl": "application/xproc+xml",
- "xpm": "image/x-xpixmap",
- "xpr": "application/vnd.is-xpr",
- "xps": "application/vnd.ms-xpsdocument",
- "xpw": "application/vnd.intercon.formnet",
- "xpx": "application/vnd.intercon.formnet",
- "xq": "text/xquery",
- "xql": "text/xquery",
- "xqm": "text/xquery",
- "xqu": "text/xquery",
- "xquery": "text/xquery",
- "xqy": "text/xquery",
- "xsd": "text/xml",
- "xsf": "application/prs.xsf+xml",
- "xsl": "application/xslt+xml",
- "xslt": "application/xslt+xml",
- "xsm": "application/vnd.syncml+xml",
- "xspf": "application/xspf+xml",
- "xsr": "video/x-amt-showrun",
- "xtel": "chemical/x-xtel",
- "xul": "application/vnd.mozilla.xul+xml",
- "xvm": "application/xv+xml",
- "xvml": "application/xv+xml",
- "xwd": "image/x-xwindowdump",
- "xyz": "chemical/x-xyz",
- "xyze": "image/vnd.radiance",
- "xz": "application/x-xz",
- "yaml": "text/yaml",
- "yang": "application/yang",
- "yin": "application/yin+xml",
- "yme": "application/vnd.yaoweme",
- "yml": "text/yaml",
- "ymp": "text/x-suse-ymp",
- "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",
- "zaz": "application/vnd.zzazz.deck+xml",
- "zfc": "application/vnd.filmit.zfc",
- "zfo": "application/vnd.software602.filler.form-xml-zip",
- "zig": "text/zig",
- "zip": "application/zip",
- "zir": "application/vnd.zul",
- "zirz": "application/vnd.zul",
- "zmm": "application/vnd.handheld-entertainment+xml",
- "zmt": "chemical/x-mopac-input",
- "zone": "text/dns",
- "zoo": "application/octet-stream",
- "zsh": "text/x-script.zsh",
- "~": "application/x-trash"
- }
- func newMimetypes*(): MimeDB =
- ## Creates a new Mimetypes database. The database will contain the most
- ## common mimetypes.
- {.cast(noSideEffect).}:
- result.mimes = mimes.toOrderedTable()
- func getMimetype*(mimedb: MimeDB, ext: string, default = "text/plain"): string =
- ## Gets mimetype which corresponds to `ext`. Returns `default` if `ext`
- ## could not be found. `ext` can start with an optional dot which is ignored.
- ## `ext` is lowercased before querying `mimedb`.
- if ext.startsWith("."):
- result = mimedb.mimes.getOrDefault(ext.toLowerAscii.substr(1))
- else:
- result = mimedb.mimes.getOrDefault(ext.toLowerAscii())
- if result == "":
- return default
- func getExt*(mimedb: MimeDB, mimetype: string, default = "txt"): string =
- ## Gets extension which corresponds to `mimetype`. Returns `default` if
- ## `mimetype` could not be found. Extensions are returned without the
- ## leading dot. `mimetype` is lowercased before querying `mimedb`.
- result = default
- let mimeLowered = mimetype.toLowerAscii()
- for e, m in mimedb.mimes:
- if m == mimeLowered:
- result = e
- break
- func register*(mimedb: var MimeDB, ext: string, mimetype: string) =
- ## Adds `mimetype` to the `mimedb`.
- ## `mimetype` and `ext` are lowercased before registering on `mimedb`.
- assert ext.strip.len > 0, "ext argument can not be empty string"
- assert mimetype.strip.len > 0, "mimetype argument can not be empty string"
- {.noSideEffect.}:
- mimedb.mimes[ext.toLowerAscii()] = mimetype.toLowerAscii()
|