MimeType::get()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace Utilities\Router\Utils;
4
5
/**
6
 * MimeType class
7
 *
8
 * @link    https://github.com/utilities-php/router
9
 * @author  Shahrad Elahi (https://github.com/shahradelahi)
10
 * @license https://github.com/utilities-php/router/blob/master/LICENSE (MIT License)
11
 */
12
class MimeType
13
{
14
15
    /**
16
     * @var array
17
     */
18
    private static array $mime_types = [
19
        'ez' => "application/andrew-inset",
20
        'aw' => "application/applixware",
21
        'atom' => "application/atom+xml",
22
        'atomcat' => "application/atomcat+xml",
23
        'atomsvc' => "application/atomsvc+xml",
24
        'ccxml' => "application/ccxml+xml",
25
        'cdmia' => "application/cdmi-capability",
26
        'cdmic' => "application/cdmi-container",
27
        'cdmid' => "application/cdmi-domain",
28
        'cdmio' => "application/cdmi-object",
29
        'cdmiq' => "application/cdmi-queue",
30
        'cu' => "application/cu-seeme",
31
        'davmount' => "application/davmount+xml",
32
        'dbk' => "application/docbook+xml",
33
        'dssc' => "application/dssc+der",
34
        'xdssc' => "application/dssc+xml",
35
        'ecma' => "application/ecmascript",
36
        'emma' => "application/emma+xml",
37
        'epub' => "application/epub+zip",
38
        'exi' => "application/exi",
39
        'pfr' => "application/font-tdpfr",
40
        'gml' => "application/gml+xml",
41
        'gpx' => "application/gpx+xml",
42
        'gxf' => "application/gxf",
43
        'stk' => "application/hyperstudio",
44
        'ink' => "application/inkml+xml",
45
        'inkml' => "application/inkml+xml",
46
        'ipfix' => "application/ipfix",
47
        'jar' => "application/java-archive",
48
        'ser' => "application/java-serialized-object",
49
        'class' => "application/java-vm",
50
        'js' => "application/javascript",
51
        'json' => "application/json",
52
        'jsonml' => "application/jsonml+json",
53
        'lostxml' => "application/lost+xml",
54
        'hqx' => "application/mac-binhex40",
55
        'cpt' => "application/mac-compactpro",
56
        'mads' => "application/mads+xml",
57
        'mrc' => "application/marc",
58
        'mrcx' => "application/marcxml+xml",
59
        'ma' => "application/mathematica",
60
        'nb' => "application/mathematica",
61
        'mb' => "application/mathematica",
62
        'mathml' => "application/mathml+xml",
63
        'mbox' => "application/mbox",
64
        'mscml' => "application/mediaservercontrol+xml",
65
        'metalink' => "application/metalink+xml",
66
        'meta4' => "application/metalink4+xml",
67
        'mets' => "application/mets+xml",
68
        'mods' => "application/mods+xml",
69
        'm21' => "application/mp21",
70
        'mp21' => "application/mp21",
71
        'mp4s' => "application/mp4",
72
        'doc' => "application/msword",
73
        'dot' => "application/msword",
74
        'mxf' => "application/mxf",
75
        'bin' => "application/octet-stream",
76
        'dms' => "application/octet-stream",
77
        'lrf' => "application/octet-stream",
78
        'mar' => "application/octet-stream",
79
        'so' => "application/octet-stream",
80
        'dist' => "application/octet-stream",
81
        'distz' => "application/octet-stream",
82
        'pkg' => "application/octet-stream",
83
        'bpk' => "application/octet-stream",
84
        'dump' => "application/octet-stream",
85
        'elc' => "application/octet-stream",
86
        'deploy' => "application/octet-stream",
87
        'oda' => "application/oda",
88
        'opf' => "application/oebps-package+xml",
89
        'ogx' => "application/ogg",
90
        'omdoc' => "application/omdoc+xml",
91
        'onetoc' => "application/onenote",
92
        'onetoc2' => "application/onenote",
93
        'onetmp' => "application/onenote",
94
        'onepkg' => "application/onenote",
95
        'oxps' => "application/oxps",
96
        'xer' => "application/patch-ops-error+xml",
97
        'pdf' => "application/pdf",
98
        'pgp' => "application/pgp-encrypted",
99
        'asc' => "application/pgp-signature",
100
        'sig' => "application/pgp-signature",
101
        'prf' => "application/pics-rules",
102
        'p10' => "application/pkcs10",
103
        'p7m' => "application/pkcs7-mime",
104
        'p7c' => "application/pkcs7-mime",
105
        'p7s' => "application/pkcs7-signature",
106
        'p8' => "application/pkcs8",
107
        'ac' => "application/pkix-attr-cert",
108
        'cer' => "application/pkix-cert",
109
        'crl' => "application/pkix-crl",
110
        'pkipath' => "application/pkix-pkipath",
111
        'pki' => "application/pkixcmp",
112
        'pls' => "application/pls+xml",
113
        'ai' => "application/postscript",
114
        'eps' => "application/postscript",
115
        'ps' => "application/postscript",
116
        'cww' => "application/prs.cww",
117
        'pskcxml' => "application/pskc+xml",
118
        'rdf' => "application/rdf+xml",
119
        'rif' => "application/reginfo+xml",
120
        'rnc' => "application/relax-ng-compact-syntax",
121
        'rl' => "application/resource-lists+xml",
122
        'rld' => "application/resource-lists-diff+xml",
123
        'rs' => "application/rls-services+xml",
124
        'gbr' => "application/rpki-ghostbusters",
125
        'mft' => "application/rpki-manifest",
126
        'roa' => "application/rpki-roa",
127
        'rsd' => "application/rsd+xml",
128
        'rss' => "application/rss+xml",
129
        'rtf' => "application/rtf",
130
        'sbml' => "application/sbml+xml",
131
        'scq' => "application/scvp-cv-request",
132
        'scs' => "application/scvp-cv-response",
133
        'spq' => "application/scvp-vp-request",
134
        'spp' => "application/scvp-vp-response",
135
        'sdp' => "application/sdp",
136
        'setpay' => "application/set-payment-initiation",
137
        'setreg' => "application/set-registration-initiation",
138
        'shf' => "application/shf+xml",
139
        'smi' => "application/smil+xml",
140
        'smil' => "application/smil+xml",
141
        'rq' => "application/sparql-query",
142
        'srx' => "application/sparql-results+xml",
143
        'gram' => "application/srgs",
144
        'grxml' => "application/srgs+xml",
145
        'sru' => "application/sru+xml",
146
        'ssdl' => "application/ssdl+xml",
147
        'ssml' => "application/ssml+xml",
148
        'tei' => "application/tei+xml",
149
        'teicorpus' => "application/tei+xml",
150
        'tfi' => "application/thraud+xml",
151
        'tsd' => "application/timestamped-data",
152
        'plb' => "application/vnd.3gpp.pic-bw-large",
153
        'psb' => "application/vnd.3gpp.pic-bw-small",
154
        'pvb' => "application/vnd.3gpp.pic-bw-var",
155
        'tcap' => "application/vnd.3gpp2.tcap",
156
        'pwn' => "application/vnd.3m.post-it-notes",
157
        'aso' => "application/vnd.accpac.simply.aso",
158
        'imp' => "application/vnd.accpac.simply.imp",
159
        'acu' => "application/vnd.acucobol",
160
        'atc' => "application/vnd.acucorp",
161
        'acutc' => "application/vnd.acucorp",
162
        'air' => "application/vnd.adobe.air-application-installer-package+zip",
163
        'fcdt' => "application/vnd.adobe.formscentral.fcdt",
164
        'fxp' => "application/vnd.adobe.fxp",
165
        'fxpl' => "application/vnd.adobe.fxp",
166
        'xdp' => "application/vnd.adobe.xdp+xml",
167
        'xfdf' => "application/vnd.adobe.xfdf",
168
        'ahead' => "application/vnd.ahead.space",
169
        'azf' => "application/vnd.airzip.filesecure.azf",
170
        'azs' => "application/vnd.airzip.filesecure.azs",
171
        'azw' => "application/vnd.amazon.ebook",
172
        'acc' => "application/vnd.americandynamics.acc",
173
        'ami' => "application/vnd.amiga.ami",
174
        'apk' => "application/vnd.android.package-archive",
175
        'cii' => "application/vnd.anser-web-certificate-issue-initiation",
176
        'fti' => "application/vnd.anser-web-funds-transfer-initiation",
177
        'atx' => "application/vnd.antix.game-component",
178
        'mpkg' => "application/vnd.apple.installer+xml",
179
        'm3u8' => "application/vnd.apple.mpegurl",
180
        'swi' => "application/vnd.aristanetworks.swi",
181
        'iota' => "application/vnd.astraea-software.iota",
182
        'aep' => "application/vnd.audiograph",
183
        'mpm' => "application/vnd.blueice.multipass",
184
        'bmi' => "application/vnd.bmi",
185
        'rep' => "application/vnd.businessobjects",
186
        'cdxml' => "application/vnd.chemdraw+xml",
187
        'mmd' => "application/vnd.chipnuts.karaoke-mmd",
188
        'cdy' => "application/vnd.cinderella",
189
        'cla' => "application/vnd.claymore",
190
        'rp9' => "application/vnd.cloanto.rp9",
191
        'c4g' => "application/vnd.clonk.c4group",
192
        'c4d' => "application/vnd.clonk.c4group",
193
        'c4f' => "application/vnd.clonk.c4group",
194
        'c4p' => "application/vnd.clonk.c4group",
195
        'c4u' => "application/vnd.clonk.c4group",
196
        'c11amc' => "application/vnd.cluetrust.cartomobile-config",
197
        'c11amz' => "application/vnd.cluetrust.cartomobile-config-pkg",
198
        'csp' => "application/vnd.commonspace",
199
        'cdbcmsg' => "application/vnd.contact.cmsg",
200
        'cmc' => "application/vnd.cosmocaller",
201
        'clkx' => "application/vnd.crick.clicker",
202
        'clkk' => "application/vnd.crick.clicker.keyboard",
203
        'clkp' => "application/vnd.crick.clicker.palette",
204
        'clkt' => "application/vnd.crick.clicker.template",
205
        'clkw' => "application/vnd.crick.clicker.wordbank",
206
        'wbs' => "application/vnd.criticaltools.wbs+xml",
207
        'pml' => "application/vnd.ctc-posml",
208
        'ppd' => "application/vnd.cups-ppd",
209
        'car' => "application/vnd.curl.car",
210
        'pcurl' => "application/vnd.curl.pcurl",
211
        'dart' => "application/vnd.dart",
212
        'rdz' => "application/vnd.data-vision.rdz",
213
        'uvf' => "application/vnd.dece.data",
214
        'uvvf' => "application/vnd.dece.data",
215
        'uvd' => "application/vnd.dece.data",
216
        'uvvd' => "application/vnd.dece.data",
217
        'uvt' => "application/vnd.dece.ttml+xml",
218
        'uvvt' => "application/vnd.dece.ttml+xml",
219
        'uvx' => "application/vnd.dece.unspecified",
220
        'uvvx' => "application/vnd.dece.unspecified",
221
        'uvz' => "application/vnd.dece.zip",
222
        'uvvz' => "application/vnd.dece.zip",
223
        'fe_launch' => "application/vnd.denovo.fcselayout-link",
224
        'dna' => "application/vnd.dna",
225
        'mlp' => "application/vnd.dolby.mlp",
226
        'dpg' => "application/vnd.dpgraph",
227
        'dfac' => "application/vnd.dreamfactory",
228
        'kpxx' => "application/vnd.ds-keypoint",
229
        'ait' => "application/vnd.dvb.ait",
230
        'svc' => "application/vnd.dvb.service",
231
        'geo' => "application/vnd.dynageo",
232
        'mag' => "application/vnd.ecowin.chart",
233
        'nml' => "application/vnd.enliven",
234
        'esf' => "application/vnd.epson.esf",
235
        'msf' => "application/vnd.epson.msf",
236
        'qam' => "application/vnd.epson.quickanime",
237
        'slt' => "application/vnd.epson.salt",
238
        'ssf' => "application/vnd.epson.ssf",
239
        'es3' => "application/vnd.eszigno3+xml",
240
        'et3' => "application/vnd.eszigno3+xml",
241
        'ez2' => "application/vnd.ezpix-album",
242
        'ez3' => "application/vnd.ezpix-package",
243
        'fdf' => "application/vnd.fdf",
244
        'mseed' => "application/vnd.fdsn.mseed",
245
        'seed' => "application/vnd.fdsn.seed",
246
        'dataless' => "application/vnd.fdsn.seed",
247
        'gph' => "application/vnd.flographit",
248
        'ftc' => "application/vnd.fluxtime.clip",
249
        'fm' => "application/vnd.framemaker",
250
        'frame' => "application/vnd.framemaker",
251
        'maker' => "application/vnd.framemaker",
252
        'book' => "application/vnd.framemaker",
253
        'fnc' => "application/vnd.frogans.fnc",
254
        'ltf' => "application/vnd.frogans.ltf",
255
        'fsc' => "application/vnd.fsc.weblaunch",
256
        'oas' => "application/vnd.fujitsu.oasys",
257
        'oa2' => "application/vnd.fujitsu.oasys2",
258
        'oa3' => "application/vnd.fujitsu.oasys3",
259
        'fg5' => "application/vnd.fujitsu.oasysgp",
260
        'bh2' => "application/vnd.fujitsu.oasysprs",
261
        'ddd' => "application/vnd.fujixerox.ddd",
262
        'xdw' => "application/vnd.fujixerox.docuworks",
263
        'xbd' => "application/vnd.fujixerox.docuworks.binder",
264
        'fzs' => "application/vnd.fuzzysheet",
265
        'txd' => "application/vnd.genomatix.tuxedo",
266
        'ggb' => "application/vnd.geogebra.file",
267
        'ggt' => "application/vnd.geogebra.tool",
268
        'gex' => "application/vnd.geometry-explorer",
269
        'gre' => "application/vnd.geometry-explorer",
270
        'gxt' => "application/vnd.geonext",
271
        'g2w' => "application/vnd.geoplan",
272
        'g3w' => "application/vnd.geospace",
273
        'gmx' => "application/vnd.gmx",
274
        'kml' => "application/vnd.google-earth.kml+xml",
275
        'kmz' => "application/vnd.google-earth.kmz",
276
        'gqf' => "application/vnd.grafeq",
277
        'gqs' => "application/vnd.grafeq",
278
        'gac' => "application/vnd.groove-account",
279
        'ghf' => "application/vnd.groove-help",
280
        'gim' => "application/vnd.groove-identity-message",
281
        'grv' => "application/vnd.groove-injector",
282
        'gtm' => "application/vnd.groove-tool-message",
283
        'tpl' => "application/vnd.groove-tool-template",
284
        'vcg' => "application/vnd.groove-vcard",
285
        'hal' => "application/vnd.hal+xml",
286
        'zmm' => "application/vnd.handheld-entertainment+xml",
287
        'hbci' => "application/vnd.hbci",
288
        'les' => "application/vnd.hhe.lesson-player",
289
        'hpgl' => "application/vnd.hp-hpgl",
290
        'hpid' => "application/vnd.hp-hpid",
291
        'hps' => "application/vnd.hp-hps",
292
        'jlt' => "application/vnd.hp-jlyt",
293
        'pcl' => "application/vnd.hp-pcl",
294
        'pclxl' => "application/vnd.hp-pclxl",
295
        'sfd-hdstx' => "application/vnd.hydrostatix.sof-data",
296
        'mpy' => "application/vnd.ibm.minipay",
297
        'afp' => "application/vnd.ibm.modcap",
298
        'listafp' => "application/vnd.ibm.modcap",
299
        'list3820' => "application/vnd.ibm.modcap",
300
        'irm' => "application/vnd.ibm.rights-management",
301
        'sc' => "application/vnd.ibm.secure-container",
302
        'icc' => "application/vnd.iccprofile",
303
        'icm' => "application/vnd.iccprofile",
304
        'igl' => "application/vnd.igloader",
305
        'ivp' => "application/vnd.immervision-ivp",
306
        'ivu' => "application/vnd.immervision-ivu",
307
        'igm' => "application/vnd.insors.igm",
308
        'xpw' => "application/vnd.intercon.formnet",
309
        'xpx' => "application/vnd.intercon.formnet",
310
        'i2g' => "application/vnd.intergeo",
311
        'qbo' => "application/vnd.intu.qbo",
312
        'qfx' => "application/vnd.intu.qfx",
313
        'rcprofile' => "application/vnd.ipunplugged.rcprofile",
314
        'irp' => "application/vnd.irepository.package+xml",
315
        'xpr' => "application/vnd.is-xpr",
316
        'fcs' => "application/vnd.isac.fcs",
317
        'jam' => "application/vnd.jam",
318
        'rms' => "application/vnd.jcp.javame.midlet-rms",
319
        'jisp' => "application/vnd.jisp",
320
        'joda' => "application/vnd.joost.joda-archive",
321
        'ktz' => "application/vnd.kahootz",
322
        'ktr' => "application/vnd.kahootz",
323
        'karbon' => "application/vnd.kde.karbon",
324
        'chrt' => "application/vnd.kde.kchart",
325
        'kfo' => "application/vnd.kde.kformula",
326
        'flw' => "application/vnd.kde.kivio",
327
        'kon' => "application/vnd.kde.kontour",
328
        'kpr' => "application/vnd.kde.kpresenter",
329
        'kpt' => "application/vnd.kde.kpresenter",
330
        'ksp' => "application/vnd.kde.kspread",
331
        'kwd' => "application/vnd.kde.kword",
332
        'kwt' => "application/vnd.kde.kword",
333
        'htke' => "application/vnd.kenameaapp",
334
        'kia' => "application/vnd.kidspiration",
335
        'kne' => "application/vnd.kinar",
336
        'knp' => "application/vnd.kinar",
337
        'skp' => "application/vnd.koan",
338
        'skd' => "application/vnd.koan",
339
        'skt' => "application/vnd.koan",
340
        'skm' => "application/vnd.koan",
341
        'sse' => "application/vnd.kodak-descriptor",
342
        'lasxml' => "application/vnd.las.las+xml",
343
        'lbd' => "application/vnd.llamagraphics.life-balance.desktop",
344
        'lbe' => "application/vnd.llamagraphics.life-balance.exchange+xml",
345
        '123' => "application/vnd.lotus-1-2-3",
346
        'apr' => "application/vnd.lotus-approach",
347
        'pre' => "application/vnd.lotus-freelance",
348
        'nsf' => "application/vnd.lotus-notes",
349
        'org' => "application/vnd.lotus-organizer",
350
        'scm' => "application/vnd.lotus-screencam",
351
        'lwp' => "application/vnd.lotus-wordpro",
352
        'portpkg' => "application/vnd.macports.portpkg",
353
        'mcd' => "application/vnd.mcd",
354
        'mc1' => "application/vnd.medcalcdata",
355
        'cdkey' => "application/vnd.mediastation.cdkey",
356
        'mwf' => "application/vnd.mfer",
357
        'mfm' => "application/vnd.mfmp",
358
        'flo' => "application/vnd.micrografx.flo",
359
        'igx' => "application/vnd.micrografx.igx",
360
        'mif' => "application/vnd.mif",
361
        'daf' => "application/vnd.mobius.daf",
362
        'dis' => "application/vnd.mobius.dis",
363
        'mbk' => "application/vnd.mobius.mbk",
364
        'mqy' => "application/vnd.mobius.mqy",
365
        'msl' => "application/vnd.mobius.msl",
366
        'plc' => "application/vnd.mobius.plc",
367
        'txf' => "application/vnd.mobius.txf",
368
        'mpn' => "application/vnd.mophun.application",
369
        'mpc' => "application/vnd.mophun.certificate",
370
        'xul' => "application/vnd.mozilla.xul+xml",
371
        'cil' => "application/vnd.ms-artgalry",
372
        'cab' => "application/vnd.ms-cab-compressed",
373
        'xls' => "application/vnd.ms-excel",
374
        'xlm' => "application/vnd.ms-excel",
375
        'xla' => "application/vnd.ms-excel",
376
        'xlc' => "application/vnd.ms-excel",
377
        'xlt' => "application/vnd.ms-excel",
378
        'xlw' => "application/vnd.ms-excel",
379
        'xlam' => "application/vnd.ms-excel.addin.macroenabled.12",
380
        'xlsb' => "application/vnd.ms-excel.sheet.binary.macroenabled.12",
381
        'xlsm' => "application/vnd.ms-excel.sheet.macroenabled.12",
382
        'xltm' => "application/vnd.ms-excel.template.macroenabled.12",
383
        'eot' => "application/vnd.ms-fontobject",
384
        'chm' => "application/vnd.ms-htmlhelp",
385
        'ims' => "application/vnd.ms-ims",
386
        'lrm' => "application/vnd.ms-lrm",
387
        'thmx' => "application/vnd.ms-officetheme",
388
        'cat' => "application/vnd.ms-pki.seccat",
389
        'stl' => "application/vnd.ms-pki.stl",
390
        'ppt' => "application/vnd.ms-powerpoint",
391
        'pps' => "application/vnd.ms-powerpoint",
392
        'pot' => "application/vnd.ms-powerpoint",
393
        'ppam' => "application/vnd.ms-powerpoint.addin.macroenabled.12",
394
        'pptm' => "application/vnd.ms-powerpoint.presentation.macroenabled.12",
395
        'sldm' => "application/vnd.ms-powerpoint.slide.macroenabled.12",
396
        'ppsm' => "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
397
        'potm' => "application/vnd.ms-powerpoint.template.macroenabled.12",
398
        'mpp' => "application/vnd.ms-project",
399
        'mpt' => "application/vnd.ms-project",
400
        'docm' => "application/vnd.ms-word.document.macroenabled.12",
401
        'dotm' => "application/vnd.ms-word.template.macroenabled.12",
402
        'wps' => "application/vnd.ms-works",
403
        'wks' => "application/vnd.ms-works",
404
        'wcm' => "application/vnd.ms-works",
405
        'wdb' => "application/vnd.ms-works",
406
        'wpl' => "application/vnd.ms-wpl",
407
        'xps' => "application/vnd.ms-xpsdocument",
408
        'mseq' => "application/vnd.mseq",
409
        'mus' => "application/vnd.musician",
410
        'msty' => "application/vnd.muvee.style",
411
        'taglet' => "application/vnd.mynfc",
412
        'nlu' => "application/vnd.neurolanguage.nlu",
413
        'ntf' => "application/vnd.nitf",
414
        'nitf' => "application/vnd.nitf",
415
        'nnd' => "application/vnd.noblenet-directory",
416
        'nns' => "application/vnd.noblenet-sealer",
417
        'nnw' => "application/vnd.noblenet-web",
418
        'ngdat' => "application/vnd.nokia.n-gage.data",
419
        'n-gage' => "application/vnd.nokia.n-gage.symbian.install",
420
        'rpst' => "application/vnd.nokia.radio-preset",
421
        'rpss' => "application/vnd.nokia.radio-presets",
422
        'edm' => "application/vnd.novadigm.edm",
423
        'edx' => "application/vnd.novadigm.edx",
424
        'ext' => "application/vnd.novadigm.ext",
425
        'odc' => "application/vnd.oasis.opendocument.chart",
426
        'otc' => "application/vnd.oasis.opendocument.chart-template",
427
        'odb' => "application/vnd.oasis.opendocument.database",
428
        'odf' => "application/vnd.oasis.opendocument.formula",
429
        'odft' => "application/vnd.oasis.opendocument.formula-template",
430
        'odg' => "application/vnd.oasis.opendocument.graphics",
431
        'otg' => "application/vnd.oasis.opendocument.graphics-template",
432
        'odi' => "application/vnd.oasis.opendocument.image",
433
        'oti' => "application/vnd.oasis.opendocument.image-template",
434
        'odp' => "application/vnd.oasis.opendocument.presentation",
435
        'otp' => "application/vnd.oasis.opendocument.presentation-template",
436
        'ods' => "application/vnd.oasis.opendocument.spreadsheet",
437
        'ots' => "application/vnd.oasis.opendocument.spreadsheet-template",
438
        'odt' => "application/vnd.oasis.opendocument.text",
439
        'odm' => "application/vnd.oasis.opendocument.text-master",
440
        'ott' => "application/vnd.oasis.opendocument.text-template",
441
        'oth' => "application/vnd.oasis.opendocument.text-web",
442
        'xo' => "application/vnd.olpc-sugar",
443
        'dd2' => "application/vnd.oma.dd2+xml",
444
        'oxt' => "application/vnd.openofficeorg.extension",
445
        'pptx' => "application/vnd.openxmlformats-officedocument.presentationml.presentation",
446
        'sldx' => "application/vnd.openxmlformats-officedocument.presentationml.slide",
447
        'ppsx' => "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
448
        'potx' => "application/vnd.openxmlformats-officedocument.presentationml.template",
449
        'xlsx' => "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
450
        'xltx' => "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
451
        'docx' => "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
452
        'dotx' => "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
453
        'mgp' => "application/vnd.osgeo.mapguide.package",
454
        'dp' => "application/vnd.osgi.dp",
455
        'esa' => "application/vnd.osgi.subsystem",
456
        'pdb' => "application/vnd.palm",
457
        'pqa' => "application/vnd.palm",
458
        'oprc' => "application/vnd.palm",
459
        'paw' => "application/vnd.pawaafile",
460
        'str' => "application/vnd.pg.format",
461
        'ei6' => "application/vnd.pg.osasli",
462
        'efif' => "application/vnd.picsel",
463
        'wg' => "application/vnd.pmi.widget",
464
        'plf' => "application/vnd.pocketlearn",
465
        'pbd' => "application/vnd.powerbuilder6",
466
        'box' => "application/vnd.previewsystems.box",
467
        'mgz' => "application/vnd.proteus.magazine",
468
        'qps' => "application/vnd.publishare-delta-tree",
469
        'ptid' => "application/vnd.pvi.ptid1",
470
        'qxd' => "application/vnd.quark.quarkxpress",
471
        'qxt' => "application/vnd.quark.quarkxpress",
472
        'qwd' => "application/vnd.quark.quarkxpress",
473
        'qwt' => "application/vnd.quark.quarkxpress",
474
        'qxl' => "application/vnd.quark.quarkxpress",
475
        'qxb' => "application/vnd.quark.quarkxpress",
476
        'bed' => "application/vnd.realvnc.bed",
477
        'mxl' => "application/vnd.recordare.musicxml",
478
        'musicxml' => "application/vnd.recordare.musicxml+xml",
479
        'cryptonote' => "application/vnd.rig.cryptonote",
480
        'cod' => "application/vnd.rim.cod",
481
        'rm' => "application/vnd.rn-realmedia",
482
        'rmvb' => "application/vnd.rn-realmedia-vbr",
483
        'link66' => "application/vnd.route66.link66+xml",
484
        'st' => "application/vnd.sailingtracker.track",
485
        'see' => "application/vnd.seemail",
486
        'sema' => "application/vnd.sema",
487
        'semd' => "application/vnd.semd",
488
        'semf' => "application/vnd.semf",
489
        'ifm' => "application/vnd.shana.informed.formdata",
490
        'itp' => "application/vnd.shana.informed.formtemplate",
491
        'iif' => "application/vnd.shana.informed.interchange",
492
        'ipk' => "application/vnd.shana.informed.package",
493
        'twd' => "application/vnd.simtech-mindmapper",
494
        'twds' => "application/vnd.simtech-mindmapper",
495
        'mmf' => "application/vnd.smaf",
496
        'teacher' => "application/vnd.smart.teacher",
497
        'sdkm' => "application/vnd.solent.sdkm+xml",
498
        'sdkd' => "application/vnd.solent.sdkm+xml",
499
        'dxp' => "application/vnd.spotfire.dxp",
500
        'sfs' => "application/vnd.spotfire.sfs",
501
        'sdc' => "application/vnd.stardivision.calc",
502
        'sda' => "application/vnd.stardivision.draw",
503
        'sdd' => "application/vnd.stardivision.impress",
504
        'smf' => "application/vnd.stardivision.math",
505
        'sdw' => "application/vnd.stardivision.writer",
506
        'vor' => "application/vnd.stardivision.writer",
507
        'sgl' => "application/vnd.stardivision.writer-global",
508
        'smzip' => "application/vnd.stepmania.package",
509
        'sm' => "application/vnd.stepmania.stepchart",
510
        'sxc' => "application/vnd.sun.xml.calc",
511
        'stc' => "application/vnd.sun.xml.calc.template",
512
        'sxd' => "application/vnd.sun.xml.draw",
513
        'std' => "application/vnd.sun.xml.draw.template",
514
        'sxi' => "application/vnd.sun.xml.impress",
515
        'sti' => "application/vnd.sun.xml.impress.template",
516
        'sxm' => "application/vnd.sun.xml.math",
517
        'sxw' => "application/vnd.sun.xml.writer",
518
        'sxg' => "application/vnd.sun.xml.writer.global",
519
        'stw' => "application/vnd.sun.xml.writer.template",
520
        'sus' => "application/vnd.sus-calendar",
521
        'susp' => "application/vnd.sus-calendar",
522
        'svd' => "application/vnd.svd",
523
        'sis' => "application/vnd.symbian.install",
524
        'sisx' => "application/vnd.symbian.install",
525
        'xsm' => "application/vnd.syncml+xml",
526
        'bdm' => "application/vnd.syncml.dm+wbxml",
527
        'xdm' => "application/vnd.syncml.dm+xml",
528
        'tao' => "application/vnd.tao.intent-module-archive",
529
        'pcap' => "application/vnd.tcpdump.pcap",
530
        'cap' => "application/vnd.tcpdump.pcap",
531
        'dmp' => "application/vnd.tcpdump.pcap",
532
        'tmo' => "application/vnd.tmobile-livetv",
533
        'tpt' => "application/vnd.trid.tpt",
534
        'mxs' => "application/vnd.triscape.mxs",
535
        'tra' => "application/vnd.trueapp",
536
        'ufd' => "application/vnd.ufdl",
537
        'ufdl' => "application/vnd.ufdl",
538
        'utz' => "application/vnd.uiq.theme",
539
        'umj' => "application/vnd.umajin",
540
        'unityweb' => "application/vnd.unity",
541
        'uoml' => "application/vnd.uoml+xml",
542
        'vcx' => "application/vnd.vcx",
543
        'vsd' => "application/vnd.visio",
544
        'vst' => "application/vnd.visio",
545
        'vss' => "application/vnd.visio",
546
        'vsw' => "application/vnd.visio",
547
        'vis' => "application/vnd.visionary",
548
        'vsf' => "application/vnd.vsf",
549
        'wbxml' => "application/vnd.wap.wbxml",
550
        'wmlc' => "application/vnd.wap.wmlc",
551
        'wmlsc' => "application/vnd.wap.wmlscriptc",
552
        'wtb' => "application/vnd.webturbo",
553
        'nbp' => "application/vnd.wolfram.player",
554
        'wpd' => "application/vnd.wordperfect",
555
        'wqd' => "application/vnd.wqd",
556
        'stf' => "application/vnd.wt.stf",
557
        'xar' => "application/vnd.xara",
558
        'xfdl' => "application/vnd.xfdl",
559
        'hvd' => "application/vnd.yamaha.hv-dic",
560
        'hvs' => "application/vnd.yamaha.hv-script",
561
        'hvp' => "application/vnd.yamaha.hv-voice",
562
        'osf' => "application/vnd.yamaha.openscoreformat",
563
        'osfpvg' => "application/vnd.yamaha.openscoreformat.osfpvg+xml",
564
        'saf' => "application/vnd.yamaha.smaf-audio",
565
        'spf' => "application/vnd.yamaha.smaf-phrase",
566
        'cmp' => "application/vnd.yellowriver-custom-menu",
567
        'zir' => "application/vnd.zul",
568
        'zirz' => "application/vnd.zul",
569
        'zaz' => "application/vnd.zzazz.deck+xml",
570
        'vxml' => "application/voicexml+xml",
571
        'wgt' => "application/widget",
572
        'hlp' => "application/winhlp",
573
        'wsdl' => "application/wsdl+xml",
574
        'wspolicy' => "application/wspolicy+xml",
575
        '7z' => "application/x-7z-compressed",
576
        'abw' => "application/x-abiword",
577
        'ace' => "application/x-ace-compressed",
578
        'dmg' => "application/x-apple-diskimage",
579
        'aab' => "application/x-authorware-bin",
580
        'x32' => "application/x-authorware-bin",
581
        'u32' => "application/x-authorware-bin",
582
        'vox' => "application/x-authorware-bin",
583
        'aam' => "application/x-authorware-map",
584
        'aas' => "application/x-authorware-seg",
585
        'bcpio' => "application/x-bcpio",
586
        'torrent' => "application/x-bittorrent",
587
        'blb' => "application/x-blorb",
588
        'blorb' => "application/x-blorb",
589
        'bz' => "application/x-bzip",
590
        'bz2' => "application/x-bzip2",
591
        'boz' => "application/x-bzip2",
592
        'cbr' => "application/x-cbr",
593
        'cba' => "application/x-cbr",
594
        'cbt' => "application/x-cbr",
595
        'cbz' => "application/x-cbr",
596
        'cb7' => "application/x-cbr",
597
        'vcd' => "application/x-cdlink",
598
        'cfs' => "application/x-cfs-compressed",
599
        'chat' => "application/x-chat",
600
        'pgn' => "application/x-chess-pgn",
601
        'nsc' => "application/x-conference",
602
        'cpio' => "application/x-cpio",
603
        'csh' => "application/x-csh",
604
        'deb' => "application/x-debian-package",
605
        'udeb' => "application/x-debian-package",
606
        'dgc' => "application/x-dgc-compressed",
607
        'dir' => "application/x-director",
608
        'dcr' => "application/x-director",
609
        'dxr' => "application/x-director",
610
        'cst' => "application/x-director",
611
        'cct' => "application/x-director",
612
        'cxt' => "application/x-director",
613
        'w3d' => "application/x-director",
614
        'fgd' => "application/x-director",
615
        'swa' => "application/x-director",
616
        'wad' => "application/x-doom",
617
        'ncx' => "application/x-dtbncx+xml",
618
        'dtb' => "application/x-dtbook+xml",
619
        'res' => "application/x-dtbresource+xml",
620
        'dvi' => "application/x-dvi",
621
        'evy' => "application/x-envoy",
622
        'eva' => "application/x-eva",
623
        'bdf' => "application/x-font-bdf",
624
        'gsf' => "application/x-font-ghostscript",
625
        'psf' => "application/x-font-linux-psf",
626
        'pcf' => "application/x-font-pcf",
627
        'snf' => "application/x-font-snf",
628
        'pfa' => "application/x-font-type1",
629
        'pfb' => "application/x-font-type1",
630
        'pfm' => "application/x-font-type1",
631
        'afm' => "application/x-font-type1",
632
        'arc' => "application/x-freearc",
633
        'spl' => "application/x-futuresplash",
634
        'gca' => "application/x-gca-compressed",
635
        'ulx' => "application/x-glulx",
636
        'gnumeric' => "application/x-gnumeric",
637
        'gramps' => "application/x-gramps-xml",
638
        'gtar' => "application/x-gtar",
639
        'hdf' => "application/x-hdf",
640
        'install' => "application/x-install-instructions",
641
        'iso' => "application/x-iso9660-image",
642
        'jnlp' => "application/x-java-jnlp-file",
643
        'latex' => "application/x-latex",
644
        'lzh' => "application/x-lzh-compressed",
645
        'lha' => "application/x-lzh-compressed",
646
        'mie' => "application/x-mie",
647
        'prc' => "application/x-mobipocket-ebook",
648
        'mobi' => "application/x-mobipocket-ebook",
649
        'application' => "application/x-ms-application",
650
        'lnk' => "application/x-ms-shortcut",
651
        'wmd' => "application/x-ms-wmd",
652
        'wmz' => "application/x-msmetafile",
653
        'xbap' => "application/x-ms-xbap",
654
        'mdb' => "application/x-msaccess",
655
        'obd' => "application/x-msbinder",
656
        'crd' => "application/x-mscardfile",
657
        'clp' => "application/x-msclip",
658
        'exe' => "application/x-msdownload",
659
        'dll' => "application/x-msdownload",
660
        'com' => "application/x-msdownload",
661
        'bat' => "application/x-msdownload",
662
        'msi' => "application/x-msdownload",
663
        'mvb' => "application/x-msmediaview",
664
        'm13' => "application/x-msmediaview",
665
        'm14' => "application/x-msmediaview",
666
        'wmf' => "application/x-msmetafile",
667
        'emf' => "application/x-msmetafile",
668
        'emz' => "application/x-msmetafile",
669
        'mny' => "application/x-msmoney",
670
        'pub' => "application/x-mspublisher",
671
        'scd' => "application/x-msschedule",
672
        'trm' => "application/x-msterminal",
673
        'wri' => "application/x-mswrite",
674
        'nc' => "application/x-netcdf",
675
        'cdf' => "application/x-netcdf",
676
        'nzb' => "application/x-nzb",
677
        'p12' => "application/x-pkcs12",
678
        'pfx' => "application/x-pkcs12",
679
        'p7b' => "application/x-pkcs7-certificates",
680
        'spc' => "application/x-pkcs7-certificates",
681
        'p7r' => "application/x-pkcs7-certreqresp",
682
        'rar' => "application/x-rar-compressed",
683
        'ris' => "application/x-research-info-systems",
684
        'sh' => "application/x-sh",
685
        'shar' => "application/x-shar",
686
        'swf' => "application/x-shockwave-flash",
687
        'xap' => "application/x-silverlight-app",
688
        'sql' => "application/x-sql",
689
        'sit' => "application/x-stuffit",
690
        'sitx' => "application/x-stuffitx",
691
        'srt' => "application/x-subrip",
692
        'sv4cpio' => "application/x-sv4cpio",
693
        'sv4crc' => "application/x-sv4crc",
694
        't3' => "application/x-t3vm-image",
695
        'gam' => "application/x-tads",
696
        'tar' => "application/x-tar",
697
        'tcl' => "application/x-tcl",
698
        'tex' => "application/x-tex",
699
        'tfm' => "application/x-tex-tfm",
700
        'texinfo' => "application/x-texinfo",
701
        'texi' => "application/x-texinfo",
702
        'obj' => "application/x-tgif",
703
        'ustar' => "application/x-ustar",
704
        'src' => "application/x-wais-source",
705
        'der' => "application/x-x509-ca-cert",
706
        'crt' => "application/x-x509-ca-cert",
707
        'fig' => "application/x-xfig",
708
        'xlf' => "application/x-xliff+xml",
709
        'xpi' => "application/x-xpinstall",
710
        'xz' => "application/x-xz",
711
        'z1' => "application/x-zmachine",
712
        'z2' => "application/x-zmachine",
713
        'z3' => "application/x-zmachine",
714
        'z4' => "application/x-zmachine",
715
        'z5' => "application/x-zmachine",
716
        'z6' => "application/x-zmachine",
717
        'z7' => "application/x-zmachine",
718
        'z8' => "application/x-zmachine",
719
        'xaml' => "application/xaml+xml",
720
        'xdf' => "application/xcap-diff+xml",
721
        'xenc' => "application/xenc+xml",
722
        'xhtml' => "application/xhtml+xml",
723
        'xht' => "application/xhtml+xml",
724
        'xml' => "application/xml",
725
        'xsl' => "application/xml",
726
        'dtd' => "application/xml-dtd",
727
        'xop' => "application/xop+xml",
728
        'xpl' => "application/xproc+xml",
729
        'xslt' => "application/xslt+xml",
730
        'xspf' => "application/xspf+xml",
731
        'mxml' => "application/xv+xml",
732
        'xhvml' => "application/xv+xml",
733
        'xvml' => "application/xv+xml",
734
        'xvm' => "application/xv+xml",
735
        'yang' => "application/yang",
736
        'yin' => "application/yin+xml",
737
        'zip' => "application/zip",
738
        'adp' => "audio/adpcm",
739
        'au' => "audio/basic",
740
        'snd' => "audio/basic",
741
        'mid' => "audio/midi",
742
        'midi' => "audio/midi",
743
        'kar' => "audio/midi",
744
        'rmi' => "audio/midi",
745
        'm4a' => "audio/mp4",
746
        'mp4a' => "audio/mp4",
747
        'mpga' => "audio/mpeg",
748
        'mp2' => "audio/mpeg",
749
        'mp2a' => "audio/mpeg",
750
        'mp3' => "audio/mpeg",
751
        'm2a' => "audio/mpeg",
752
        'm3a' => "audio/mpeg",
753
        'oga' => "audio/ogg",
754
        'ogg' => "audio/ogg",
755
        'spx' => "audio/ogg",
756
        'opus' => "audio/ogg",
757
        's3m' => "audio/s3m",
758
        'sil' => "audio/silk",
759
        'uva' => "audio/vnd.dece.audio",
760
        'uvva' => "audio/vnd.dece.audio",
761
        'eol' => "audio/vnd.digital-winds",
762
        'dra' => "audio/vnd.dra",
763
        'dts' => "audio/vnd.dts",
764
        'dtshd' => "audio/vnd.dts.hd",
765
        'lvp' => "audio/vnd.lucent.voice",
766
        'pya' => "audio/vnd.ms-playready.media.pya",
767
        'ecelp4800' => "audio/vnd.nuera.ecelp4800",
768
        'ecelp7470' => "audio/vnd.nuera.ecelp7470",
769
        'ecelp9600' => "audio/vnd.nuera.ecelp9600",
770
        'rip' => "audio/vnd.rip",
771
        'weba' => "audio/webm",
772
        'aac' => "audio/x-aac",
773
        'aif' => "audio/x-aiff",
774
        'aiff' => "audio/x-aiff",
775
        'aifc' => "audio/x-aiff",
776
        'caf' => "audio/x-caf",
777
        'flac' => "audio/x-flac",
778
        'mka' => "audio/x-matroska",
779
        'm3u' => "audio/x-mpegurl",
780
        'wax' => "audio/x-ms-wax",
781
        'wma' => "audio/x-ms-wma",
782
        'ram' => "audio/x-pn-realaudio",
783
        'ra' => "audio/x-pn-realaudio",
784
        'rmp' => "audio/x-pn-realaudio-plugin",
785
        'wav' => "audio/x-wav",
786
        'xm' => "audio/xm",
787
        'cdx' => "chemical/x-cdx",
788
        'cif' => "chemical/x-cif",
789
        'cmdf' => "chemical/x-cmdf",
790
        'cml' => "chemical/x-cml",
791
        'csml' => "chemical/x-csml",
792
        'xyz' => "chemical/x-xyz",
793
        'ttc' => "font/collection",
794
        'otf' => "font/otf",
795
        'ttf' => "font/ttf",
796
        'woff' => "font/woff",
797
        'woff2' => "font/woff2",
798
        'bmp' => "image/bmp",
799
        'cgm' => "image/cgm",
800
        'g3' => "image/g3fax",
801
        'gif' => "image/gif",
802
        'ief' => "image/ief",
803
        'jpeg' => "image/jpeg",
804
        'jpg' => "image/jpeg",
805
        'jpe' => "image/jpeg",
806
        'ktx' => "image/ktx",
807
        'png' => "image/png",
808
        'btif' => "image/prs.btif",
809
        'sgi' => "image/sgi",
810
        'svg' => "image/svg+xml",
811
        'svgz' => "image/svg+xml",
812
        'tiff' => "image/tiff",
813
        'tif' => "image/tiff",
814
        'psd' => "image/vnd.adobe.photoshop",
815
        'uvi' => "image/vnd.dece.graphic",
816
        'uvvi' => "image/vnd.dece.graphic",
817
        'uvg' => "image/vnd.dece.graphic",
818
        'uvvg' => "image/vnd.dece.graphic",
819
        'djvu' => "image/vnd.djvu",
820
        'djv' => "image/vnd.djvu",
821
        'sub' => "text/vnd.dvb.subtitle",
822
        'dwg' => "image/vnd.dwg",
823
        'dxf' => "image/vnd.dxf",
824
        'fbs' => "image/vnd.fastbidsheet",
825
        'fpx' => "image/vnd.fpx",
826
        'fst' => "image/vnd.fst",
827
        'mmr' => "image/vnd.fujixerox.edmics-mmr",
828
        'rlc' => "image/vnd.fujixerox.edmics-rlc",
829
        'mdi' => "image/vnd.ms-modi",
830
        'wdp' => "image/vnd.ms-photo",
831
        'npx' => "image/vnd.net-fpx",
832
        'wbmp' => "image/vnd.wap.wbmp",
833
        'xif' => "image/vnd.xiff",
834
        'webp' => "image/webp",
835
        '3ds' => "image/x-3ds",
836
        'ras' => "image/x-cmu-raster",
837
        'cmx' => "image/x-cmx",
838
        'fh' => "image/x-freehand",
839
        'fhc' => "image/x-freehand",
840
        'fh4' => "image/x-freehand",
841
        'fh5' => "image/x-freehand",
842
        'fh7' => "image/x-freehand",
843
        'ico' => "image/x-icon",
844
        'sid' => "image/x-mrsid-image",
845
        'pcx' => "image/x-pcx",
846
        'pic' => "image/x-pict",
847
        'pct' => "image/x-pict",
848
        'pnm' => "image/x-portable-anymap",
849
        'pbm' => "image/x-portable-bitmap",
850
        'pgm' => "image/x-portable-graymap",
851
        'ppm' => "image/x-portable-pixmap",
852
        'rgb' => "image/x-rgb",
853
        'tga' => "image/x-tga",
854
        'xbm' => "image/x-xbitmap",
855
        'xpm' => "image/x-xpixmap",
856
        'xwd' => "image/x-xwindowdump",
857
        'eml' => "message/rfc822",
858
        'mime' => "message/rfc822",
859
        'igs' => "model/iges",
860
        'iges' => "model/iges",
861
        'msh' => "model/mesh",
862
        'mesh' => "model/mesh",
863
        'silo' => "model/mesh",
864
        'dae' => "model/vnd.collada+xml",
865
        'dwf' => "model/vnd.dwf",
866
        'gdl' => "model/vnd.gdl",
867
        'gtw' => "model/vnd.gtw",
868
        'mts' => "model/vnd.mts",
869
        'vtu' => "model/vnd.vtu",
870
        'wrl' => "model/vrml",
871
        'vrml' => "model/vrml",
872
        'x3db' => "model/x3d+binary",
873
        'x3dbz' => "model/x3d+binary",
874
        'x3dv' => "model/x3d+vrml",
875
        'x3dvz' => "model/x3d+vrml",
876
        'x3d' => "model/x3d+xml",
877
        'x3dz' => "model/x3d+xml",
878
        'appcache' => "text/cache-manifest",
879
        'ics' => "text/calendar",
880
        'ifb' => "text/calendar",
881
        'css' => "text/css",
882
        'csv' => "text/csv",
883
        'html' => "text/html",
884
        'htm' => "text/html",
885
        'n3' => "text/n3",
886
        'txt' => "text/plain",
887
        'text' => "text/plain",
888
        'conf' => "text/plain",
889
        'def' => "text/plain",
890
        'list' => "text/plain",
891
        'log' => "text/plain",
892
        'in' => "text/plain",
893
        'dsc' => "text/prs.lines.tag",
894
        'rtx' => "text/richtext",
895
        'sgml' => "text/sgml",
896
        'sgm' => "text/sgml",
897
        'tsv' => "text/tab-separated-values",
898
        't' => "text/troff",
899
        'tr' => "text/troff",
900
        'roff' => "text/troff",
901
        'man' => "text/troff",
902
        'me' => "text/troff",
903
        'ms' => "text/troff",
904
        'ttl' => "text/turtle",
905
        'uri' => "text/uri-list",
906
        'uris' => "text/uri-list",
907
        'urls' => "text/uri-list",
908
        'vcard' => "text/vcard",
909
        'curl' => "text/vnd.curl",
910
        'dcurl' => "text/vnd.curl.dcurl",
911
        'mcurl' => "text/vnd.curl.mcurl",
912
        'scurl' => "text/vnd.curl.scurl",
913
        'fly' => "text/vnd.fly",
914
        'flx' => "text/vnd.fmi.flexstor",
915
        'gv' => "text/vnd.graphviz",
916
        '3dml' => "text/vnd.in3d.3dml",
917
        'spot' => "text/vnd.in3d.spot",
918
        'jad' => "text/vnd.sun.j2me.app-descriptor",
919
        'wml' => "text/vnd.wap.wml",
920
        'wmls' => "text/vnd.wap.wmlscript",
921
        's' => "text/x-asm",
922
        'asm' => "text/x-asm",
923
        'c' => "text/x-c",
924
        'cc' => "text/x-c",
925
        'cxx' => "text/x-c",
926
        'cpp' => "text/x-c",
927
        'h' => "text/x-c",
928
        'hh' => "text/x-c",
929
        'dic' => "text/x-c",
930
        'f' => "text/x-fortran",
931
        'for' => "text/x-fortran",
932
        'f77' => "text/x-fortran",
933
        'f90' => "text/x-fortran",
934
        'java' => "text/x-java-source",
935
        'nfo' => "text/x-nfo",
936
        'opml' => "text/x-opml",
937
        'p' => "text/x-pascal",
938
        'pas' => "text/x-pascal",
939
        'etx' => "text/x-setext",
940
        'sfv' => "text/x-sfv",
941
        'uu' => "text/x-uuencode",
942
        'vcs' => "text/x-vcalendar",
943
        'vcf' => "text/x-vcard",
944
        '3gp' => "video/3gpp",
945
        '3g2' => "video/3gpp2",
946
        'h261' => "video/h261",
947
        'h263' => "video/h263",
948
        'h264' => "video/h264",
949
        'jpgv' => "video/jpeg",
950
        'jpm' => "video/jpm",
951
        'jpgm' => "video/jpm",
952
        'mj2' => "video/mj2",
953
        'mjp2' => "video/mj2",
954
        'mp4' => "video/mp4",
955
        'mp4v' => "video/mp4",
956
        'mpg4' => "video/mp4",
957
        'mpeg' => "video/mpeg",
958
        'mpg' => "video/mpeg",
959
        'mpe' => "video/mpeg",
960
        'm1v' => "video/mpeg",
961
        'm2v' => "video/mpeg",
962
        'ogv' => "video/ogg",
963
        'qt' => "video/quicktime",
964
        'mov' => "video/quicktime",
965
        'uvh' => "video/vnd.dece.hd",
966
        'uvvh' => "video/vnd.dece.hd",
967
        'uvm' => "video/vnd.dece.mobile",
968
        'uvvm' => "video/vnd.dece.mobile",
969
        'uvp' => "video/vnd.dece.pd",
970
        'uvvp' => "video/vnd.dece.pd",
971
        'uvs' => "video/vnd.dece.sd",
972
        'uvvs' => "video/vnd.dece.sd",
973
        'uvv' => "video/vnd.dece.video",
974
        'uvvv' => "video/vnd.dece.video",
975
        'dvb' => "video/vnd.dvb.file",
976
        'fvt' => "video/vnd.fvt",
977
        'mxu' => "video/vnd.mpegurl",
978
        'm4u' => "video/vnd.mpegurl",
979
        'pyv' => "video/vnd.ms-playready.media.pyv",
980
        'uvu' => "video/vnd.uvvu.mp4",
981
        'uvvu' => "video/vnd.uvvu.mp4",
982
        'viv' => "video/vnd.vivo",
983
        'webm' => "video/webm",
984
        'f4v' => "video/x-f4v",
985
        'fli' => "video/x-fli",
986
        'flv' => "video/x-flv",
987
        'm4v' => "video/x-m4v",
988
        'mkv' => "video/x-matroska",
989
        'mk3d' => "video/x-matroska",
990
        'mks' => "video/x-matroska",
991
        'mng' => "video/x-mng",
992
        'asf' => "video/x-ms-asf",
993
        'asx' => "video/x-ms-asf",
994
        'vob' => "video/x-ms-vob",
995
        'wm' => "video/x-ms-wm",
996
        'wmv' => "video/x-ms-wmv",
997
        'wmx' => "video/x-ms-wmx",
998
        'wvx' => "video/x-ms-wvx",
999
        'avi' => "video/x-msvideo",
1000
        'movie' => "video/x-sgi-movie",
1001
        'smv' => "video/x-smv",
1002
        'ice' => "x-conference/x-cooltalk",
1003
        'vrm' => "x-world/x-vrml",
1004
    ];
1005
1006
    /**
1007
     * @param string $extension
1008
     * @return string|false
1009
     */
1010
    public static function get(string $extension): string|false
1011
    {
1012
        return self::$mime_types[$extension] ?? false;
1013
    }
1014
1015
}
1016