@wooksjs/http-static 0.5.20 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.cjs +1332 -1340
  3. package/dist/index.mjs +1309 -1339
  4. package/package.json +11 -4
package/dist/index.mjs CHANGED
@@ -1,1356 +1,1326 @@
1
- import { useResponse, useSetHeaders, useHeaders, useRequest, useSetCacheControl, HttpError, BaseHttpResponse } from '@wooksjs/event-http';
2
- import { createReadStream, promises } from 'fs';
3
- import path from 'path';
1
+ import { BaseHttpResponse, HttpError, useHeaders, useRequest, useResponse, useSetCacheControl, useSetHeaders } from "@wooksjs/event-http";
2
+ import { createReadStream, promises } from "fs";
3
+ import path from "path";
4
4
 
5
+ //#region packages/http-static/src/mime/extensions.ts
5
6
  const extensions = {
6
- '123': 'application/vnd.lotus-1-2-3',
7
- 'ez': 'application/andrew-inset',
8
- 'aw': 'application/applixware',
9
- 'atom': 'application/atom+xml',
10
- 'atomcat': 'application/atomcat+xml',
11
- 'atomdeleted': 'application/atomdeleted+xml',
12
- 'atomsvc': 'application/atomsvc+xml',
13
- 'dwd': 'application/atsc-dwd+xml',
14
- 'held': 'application/atsc-held+xml',
15
- 'rsat': 'application/atsc-rsat+xml',
16
- 'bdoc': 'application/x-bdoc',
17
- 'xcs': 'application/calendar+xml',
18
- 'ccxml': 'application/ccxml+xml',
19
- 'cdfx': 'application/cdfx+xml',
20
- 'cdmia': 'application/cdmi-capability',
21
- 'cdmic': 'application/cdmi-container',
22
- 'cdmid': 'application/cdmi-domain',
23
- 'cdmio': 'application/cdmi-object',
24
- 'cdmiq': 'application/cdmi-queue',
25
- 'cpl': 'application/cpl+xml',
26
- 'cu': 'application/cu-seeme',
27
- 'cwl': 'application/cwl',
28
- 'mpd': 'application/dash+xml',
29
- 'mpp': 'application/vnd.ms-project',
30
- 'davmount': 'application/davmount+xml',
31
- 'dbk': 'application/docbook+xml',
32
- 'dssc': 'application/dssc+der',
33
- 'xdssc': 'application/dssc+xml',
34
- 'ecma': 'application/ecmascript',
35
- 'emma': 'application/emma+xml',
36
- 'emotionml': 'application/emotionml+xml',
37
- 'epub': 'application/epub+zip',
38
- 'exi': 'application/exi',
39
- 'exp': 'application/express',
40
- 'fdf': 'application/vnd.fdf',
41
- 'fdt': 'application/fdt+xml',
42
- 'pfr': 'application/font-tdpfr',
43
- 'geojson': 'application/geo+json',
44
- 'gml': 'application/gml+xml',
45
- 'gpx': 'application/gpx+xml',
46
- 'gxf': 'application/gxf',
47
- 'gz': 'application/gzip',
48
- 'hjson': 'application/hjson',
49
- 'stk': 'application/hyperstudio',
50
- 'ink': 'application/inkml+xml',
51
- 'inkml': 'application/inkml+xml',
52
- 'ipfix': 'application/ipfix',
53
- 'its': 'application/its+xml',
54
- 'jar': 'application/java-archive',
55
- 'war': 'application/java-archive',
56
- 'ear': 'application/java-archive',
57
- 'ser': 'application/java-serialized-object',
58
- 'class': 'application/java-vm',
59
- 'js': 'application/javascript',
60
- 'mjs': 'application/javascript',
61
- 'json': 'application/json',
62
- 'map': 'application/json',
63
- 'json5': 'application/json5',
64
- 'jsonml': 'application/jsonml+json',
65
- 'jsonld': 'application/ld+json',
66
- 'lgr': 'application/lgr+xml',
67
- 'lostxml': 'application/lost+xml',
68
- 'hqx': 'application/mac-binhex40',
69
- 'cpt': 'application/mac-compactpro',
70
- 'mads': 'application/mads+xml',
71
- 'webmanifest': 'application/manifest+json',
72
- 'mrc': 'application/marc',
73
- 'mrcx': 'application/marcxml+xml',
74
- 'ma': 'application/mathematica',
75
- 'nb': 'application/mathematica',
76
- 'mb': 'application/mathematica',
77
- 'mathml': 'application/mathml+xml',
78
- 'mbox': 'application/mbox',
79
- 'mpf': 'application/media-policy-dataset+xml',
80
- 'mscml': 'application/mediaservercontrol+xml',
81
- 'metalink': 'application/metalink+xml',
82
- 'meta4': 'application/metalink4+xml',
83
- 'mets': 'application/mets+xml',
84
- 'maei': 'application/mmt-aei+xml',
85
- 'musd': 'application/mmt-usd+xml',
86
- 'mods': 'application/mods+xml',
87
- 'm21': 'application/mp21',
88
- 'mp21': 'application/mp21',
89
- 'mp4s': 'application/mp4',
90
- 'm4p': 'application/mp4',
91
- 'doc': 'application/msword',
92
- 'dot': 'application/msword',
93
- 'mxf': 'application/mxf',
94
- 'nq': 'application/n-quads',
95
- 'nt': 'application/n-triples',
96
- 'cjs': 'application/node',
97
- 'bin': 'application/octet-stream',
98
- 'dms': 'application/octet-stream',
99
- 'lrf': 'application/octet-stream',
100
- 'mar': 'application/octet-stream',
101
- 'so': 'application/octet-stream',
102
- 'dist': 'application/octet-stream',
103
- 'distz': 'application/octet-stream',
104
- 'pkg': 'application/octet-stream',
105
- 'bpk': 'application/octet-stream',
106
- 'dump': 'application/octet-stream',
107
- 'elc': 'application/octet-stream',
108
- 'deploy': 'application/octet-stream',
109
- 'exe': 'application/x-msdownload',
110
- 'dll': 'application/x-msdownload',
111
- 'deb': 'application/x-debian-package',
112
- 'dmg': 'application/x-apple-diskimage',
113
- 'iso': 'application/x-iso9660-image',
114
- 'img': 'application/octet-stream',
115
- 'msi': 'application/x-msdownload',
116
- 'msp': 'application/octet-stream',
117
- 'msm': 'application/octet-stream',
118
- 'buffer': 'application/octet-stream',
119
- 'oda': 'application/oda',
120
- 'opf': 'application/oebps-package+xml',
121
- 'ogx': 'application/ogg',
122
- 'omdoc': 'application/omdoc+xml',
123
- 'onetoc': 'application/onenote',
124
- 'onetoc2': 'application/onenote',
125
- 'onetmp': 'application/onenote',
126
- 'onepkg': 'application/onenote',
127
- 'oxps': 'application/oxps',
128
- 'relo': 'application/p2p-overlay+xml',
129
- 'xer': 'application/patch-ops-error+xml',
130
- 'pdf': 'application/pdf',
131
- 'pgp': 'application/pgp-encrypted',
132
- 'asc': 'application/pgp-signature',
133
- 'sig': 'application/pgp-signature',
134
- 'prf': 'application/pics-rules',
135
- 'p10': 'application/pkcs10',
136
- 'p7m': 'application/pkcs7-mime',
137
- 'p7c': 'application/pkcs7-mime',
138
- 'p7s': 'application/pkcs7-signature',
139
- 'p8': 'application/pkcs8',
140
- 'ac': 'application/vnd.nokia.n-gage.ac+xml',
141
- 'cer': 'application/pkix-cert',
142
- 'crl': 'application/pkix-crl',
143
- 'pkipath': 'application/pkix-pkipath',
144
- 'pki': 'application/pkixcmp',
145
- 'pls': 'application/pls+xml',
146
- 'ai': 'application/postscript',
147
- 'eps': 'application/postscript',
148
- 'ps': 'application/postscript',
149
- 'provx': 'application/provenance+xml',
150
- 'cww': 'application/prs.cww',
151
- 'pskcxml': 'application/pskc+xml',
152
- 'raml': 'application/raml+yaml',
153
- 'rdf': 'application/rdf+xml',
154
- 'owl': 'application/rdf+xml',
155
- 'rif': 'application/reginfo+xml',
156
- 'rnc': 'application/relax-ng-compact-syntax',
157
- 'rl': 'application/resource-lists+xml',
158
- 'rld': 'application/resource-lists-diff+xml',
159
- 'rs': 'application/rls-services+xml',
160
- 'rapd': 'application/route-apd+xml',
161
- 'sls': 'application/route-s-tsid+xml',
162
- 'rusd': 'application/route-usd+xml',
163
- 'gbr': 'application/rpki-ghostbusters',
164
- 'mft': 'application/rpki-manifest',
165
- 'roa': 'application/rpki-roa',
166
- 'rsd': 'application/rsd+xml',
167
- 'rss': 'application/rss+xml',
168
- 'rtf': 'text/rtf',
169
- 'sbml': 'application/sbml+xml',
170
- 'scq': 'application/scvp-cv-request',
171
- 'scs': 'application/scvp-cv-response',
172
- 'spq': 'application/scvp-vp-request',
173
- 'spp': 'application/scvp-vp-response',
174
- 'sdp': 'application/sdp',
175
- 'senmlx': 'application/senml+xml',
176
- 'sensmlx': 'application/sensml+xml',
177
- 'setpay': 'application/set-payment-initiation',
178
- 'setreg': 'application/set-registration-initiation',
179
- 'shf': 'application/shf+xml',
180
- 'siv': 'application/sieve',
181
- 'sieve': 'application/sieve',
182
- 'smi': 'application/smil+xml',
183
- 'smil': 'application/smil+xml',
184
- 'rq': 'application/sparql-query',
185
- 'srx': 'application/sparql-results+xml',
186
- 'gram': 'application/srgs',
187
- 'grxml': 'application/srgs+xml',
188
- 'sru': 'application/sru+xml',
189
- 'ssdl': 'application/ssdl+xml',
190
- 'ssml': 'application/ssml+xml',
191
- 'swidtag': 'application/swid+xml',
192
- 'tei': 'application/tei+xml',
193
- 'teicorpus': 'application/tei+xml',
194
- 'tfi': 'application/thraud+xml',
195
- 'tsd': 'application/timestamped-data',
196
- 'toml': 'application/toml',
197
- 'trig': 'application/trig',
198
- 'ttml': 'application/ttml+xml',
199
- 'ubj': 'application/ubjson',
200
- 'rsheet': 'application/urc-ressheet+xml',
201
- 'td': 'application/urc-targetdesc+xml',
202
- '1km': 'application/vnd.1000minds.decision-model+xml',
203
- 'plb': 'application/vnd.3gpp.pic-bw-large',
204
- 'psb': 'application/vnd.3gpp.pic-bw-small',
205
- 'pvb': 'application/vnd.3gpp.pic-bw-var',
206
- 'tcap': 'application/vnd.3gpp2.tcap',
207
- 'pwn': 'application/vnd.3m.post-it-notes',
208
- 'aso': 'application/vnd.accpac.simply.aso',
209
- 'imp': 'application/vnd.accpac.simply.imp',
210
- 'acu': 'application/vnd.acucobol',
211
- 'atc': 'application/vnd.acucorp',
212
- 'acutc': 'application/vnd.acucorp',
213
- 'air': 'application/vnd.adobe.air-application-installer-package+zip',
214
- 'fcdt': 'application/vnd.adobe.formscentral.fcdt',
215
- 'fxp': 'application/vnd.adobe.fxp',
216
- 'fxpl': 'application/vnd.adobe.fxp',
217
- 'xdp': 'application/vnd.adobe.xdp+xml',
218
- 'xfdf': 'application/xfdf',
219
- 'age': 'application/vnd.age',
220
- 'ahead': 'application/vnd.ahead.space',
221
- 'azf': 'application/vnd.airzip.filesecure.azf',
222
- 'azs': 'application/vnd.airzip.filesecure.azs',
223
- 'azw': 'application/vnd.amazon.ebook',
224
- 'acc': 'application/vnd.americandynamics.acc',
225
- 'ami': 'application/vnd.amiga.ami',
226
- 'apk': 'application/vnd.android.package-archive',
227
- 'cii': 'application/vnd.anser-web-certificate-issue-initiation',
228
- 'fti': 'application/vnd.anser-web-funds-transfer-initiation',
229
- 'atx': 'application/vnd.antix.game-component',
230
- 'mpkg': 'application/vnd.apple.installer+xml',
231
- 'key': 'application/x-iwork-keynote-sffkey',
232
- 'm3u8': 'application/vnd.apple.mpegurl',
233
- 'numbers': 'application/x-iwork-numbers-sffnumbers',
234
- 'pages': 'application/x-iwork-pages-sffpages',
235
- 'pkpass': 'application/vnd.apple.pkpass',
236
- 'swi': 'application/vnd.aristanetworks.swi',
237
- 'iota': 'application/vnd.astraea-software.iota',
238
- 'aep': 'application/vnd.audiograph',
239
- 'bmml': 'application/vnd.balsamiq.bmml+xml',
240
- 'mpm': 'application/vnd.blueice.multipass',
241
- 'bmi': 'application/vnd.bmi',
242
- 'rep': 'application/vnd.businessobjects',
243
- 'cdxml': 'application/vnd.chemdraw+xml',
244
- 'mmd': 'application/vnd.chipnuts.karaoke-mmd',
245
- 'cdy': 'application/vnd.cinderella',
246
- 'csl': 'application/vnd.citationstyles.style+xml',
247
- 'cla': 'application/vnd.claymore',
248
- 'rp9': 'application/vnd.cloanto.rp9',
249
- 'c4g': 'application/vnd.clonk.c4group',
250
- 'c4d': 'application/vnd.clonk.c4group',
251
- 'c4f': 'application/vnd.clonk.c4group',
252
- 'c4p': 'application/vnd.clonk.c4group',
253
- 'c4u': 'application/vnd.clonk.c4group',
254
- 'c11amc': 'application/vnd.cluetrust.cartomobile-config',
255
- 'c11amz': 'application/vnd.cluetrust.cartomobile-config-pkg',
256
- 'csp': 'application/vnd.commonspace',
257
- 'cdbcmsg': 'application/vnd.contact.cmsg',
258
- 'cmc': 'application/vnd.cosmocaller',
259
- 'clkx': 'application/vnd.crick.clicker',
260
- 'clkk': 'application/vnd.crick.clicker.keyboard',
261
- 'clkp': 'application/vnd.crick.clicker.palette',
262
- 'clkt': 'application/vnd.crick.clicker.template',
263
- 'clkw': 'application/vnd.crick.clicker.wordbank',
264
- 'wbs': 'application/vnd.criticaltools.wbs+xml',
265
- 'pml': 'application/vnd.ctc-posml',
266
- 'ppd': 'application/vnd.cups-ppd',
267
- 'car': 'application/vnd.curl.car',
268
- 'pcurl': 'application/vnd.curl.pcurl',
269
- 'dart': 'application/vnd.dart',
270
- 'rdz': 'application/vnd.data-vision.rdz',
271
- 'dbf': 'application/vnd.dbf',
272
- 'uvf': 'application/vnd.dece.data',
273
- 'uvvf': 'application/vnd.dece.data',
274
- 'uvd': 'application/vnd.dece.data',
275
- 'uvvd': 'application/vnd.dece.data',
276
- 'uvt': 'application/vnd.dece.ttml+xml',
277
- 'uvvt': 'application/vnd.dece.ttml+xml',
278
- 'uvx': 'application/vnd.dece.unspecified',
279
- 'uvvx': 'application/vnd.dece.unspecified',
280
- 'uvz': 'application/vnd.dece.zip',
281
- 'uvvz': 'application/vnd.dece.zip',
282
- 'fe_launch': 'application/vnd.denovo.fcselayout-link',
283
- 'dna': 'application/vnd.dna',
284
- 'mlp': 'application/vnd.dolby.mlp',
285
- 'dpg': 'application/vnd.dpgraph',
286
- 'dfac': 'application/vnd.dreamfactory',
287
- 'kpxx': 'application/vnd.ds-keypoint',
288
- 'ait': 'application/vnd.dvb.ait',
289
- 'svc': 'application/vnd.dvb.service',
290
- 'geo': 'application/vnd.dynageo',
291
- 'mag': 'application/vnd.ecowin.chart',
292
- 'nml': 'application/vnd.enliven',
293
- 'esf': 'application/vnd.epson.esf',
294
- 'msf': 'application/vnd.epson.msf',
295
- 'qam': 'application/vnd.epson.quickanime',
296
- 'slt': 'application/vnd.epson.salt',
297
- 'ssf': 'application/vnd.epson.ssf',
298
- 'es3': 'application/vnd.eszigno3+xml',
299
- 'et3': 'application/vnd.eszigno3+xml',
300
- 'ez2': 'application/vnd.ezpix-album',
301
- 'ez3': 'application/vnd.ezpix-package',
302
- 'mseed': 'application/vnd.fdsn.mseed',
303
- 'seed': 'application/vnd.fdsn.seed',
304
- 'dataless': 'application/vnd.fdsn.seed',
305
- 'gph': 'application/vnd.flographit',
306
- 'ftc': 'application/vnd.fluxtime.clip',
307
- 'fm': 'application/vnd.framemaker',
308
- 'frame': 'application/vnd.framemaker',
309
- 'maker': 'application/vnd.framemaker',
310
- 'book': 'application/vnd.framemaker',
311
- 'fnc': 'application/vnd.frogans.fnc',
312
- 'ltf': 'application/vnd.frogans.ltf',
313
- 'fsc': 'application/vnd.fsc.weblaunch',
314
- 'oas': 'application/vnd.fujitsu.oasys',
315
- 'oa2': 'application/vnd.fujitsu.oasys2',
316
- 'oa3': 'application/vnd.fujitsu.oasys3',
317
- 'fg5': 'application/vnd.fujitsu.oasysgp',
318
- 'bh2': 'application/vnd.fujitsu.oasysprs',
319
- 'ddd': 'application/vnd.fujixerox.ddd',
320
- 'xdw': 'application/vnd.fujixerox.docuworks',
321
- 'xbd': 'application/vnd.fujixerox.docuworks.binder',
322
- 'fzs': 'application/vnd.fuzzysheet',
323
- 'txd': 'application/vnd.genomatix.tuxedo',
324
- 'ggb': 'application/vnd.geogebra.file',
325
- 'ggt': 'application/vnd.geogebra.tool',
326
- 'gex': 'application/vnd.geometry-explorer',
327
- 'gre': 'application/vnd.geometry-explorer',
328
- 'gxt': 'application/vnd.geonext',
329
- 'g2w': 'application/vnd.geoplan',
330
- 'g3w': 'application/vnd.geospace',
331
- 'gmx': 'application/vnd.gmx',
332
- 'gdoc': 'application/vnd.google-apps.document',
333
- 'gslides': 'application/vnd.google-apps.presentation',
334
- 'gsheet': 'application/vnd.google-apps.spreadsheet',
335
- 'kml': 'application/vnd.google-earth.kml+xml',
336
- 'kmz': 'application/vnd.google-earth.kmz',
337
- 'gqf': 'application/vnd.grafeq',
338
- 'gqs': 'application/vnd.grafeq',
339
- 'gac': 'application/vnd.groove-account',
340
- 'ghf': 'application/vnd.groove-help',
341
- 'gim': 'application/vnd.groove-identity-message',
342
- 'grv': 'application/vnd.groove-injector',
343
- 'gtm': 'application/vnd.groove-tool-message',
344
- 'tpl': 'application/vnd.groove-tool-template',
345
- 'vcg': 'application/vnd.groove-vcard',
346
- 'hal': 'application/vnd.hal+xml',
347
- 'zmm': 'application/vnd.handheld-entertainment+xml',
348
- 'hbci': 'application/vnd.hbci',
349
- 'les': 'application/vnd.hhe.lesson-player',
350
- 'hpgl': 'application/vnd.hp-hpgl',
351
- 'hpid': 'application/vnd.hp-hpid',
352
- 'hps': 'application/vnd.hp-hps',
353
- 'jlt': 'application/vnd.hp-jlyt',
354
- 'pcl': 'application/vnd.hp-pcl',
355
- 'pclxl': 'application/vnd.hp-pclxl',
356
- 'sfd-hdstx': 'application/vnd.hydrostatix.sof-data',
357
- 'mpy': 'application/vnd.ibm.minipay',
358
- 'afp': 'application/vnd.ibm.modcap',
359
- 'listafp': 'application/vnd.ibm.modcap',
360
- 'list3820': 'application/vnd.ibm.modcap',
361
- 'irm': 'application/vnd.ibm.rights-management',
362
- 'sc': 'application/vnd.ibm.secure-container',
363
- 'icc': 'application/vnd.iccprofile',
364
- 'icm': 'application/vnd.iccprofile',
365
- 'igl': 'application/vnd.igloader',
366
- 'ivp': 'application/vnd.immervision-ivp',
367
- 'ivu': 'application/vnd.immervision-ivu',
368
- 'igm': 'application/vnd.insors.igm',
369
- 'xpw': 'application/vnd.intercon.formnet',
370
- 'xpx': 'application/vnd.intercon.formnet',
371
- 'i2g': 'application/vnd.intergeo',
372
- 'qbo': 'application/vnd.intu.qbo',
373
- 'qfx': 'application/vnd.intu.qfx',
374
- 'rcprofile': 'application/vnd.ipunplugged.rcprofile',
375
- 'irp': 'application/vnd.irepository.package+xml',
376
- 'xpr': 'application/vnd.is-xpr',
377
- 'fcs': 'application/vnd.isac.fcs',
378
- 'jam': 'application/vnd.jam',
379
- 'rms': 'application/vnd.jcp.javame.midlet-rms',
380
- 'jisp': 'application/vnd.jisp',
381
- 'joda': 'application/vnd.joost.joda-archive',
382
- 'ktz': 'application/vnd.kahootz',
383
- 'ktr': 'application/vnd.kahootz',
384
- 'karbon': 'application/vnd.kde.karbon',
385
- 'chrt': 'application/vnd.kde.kchart',
386
- 'kfo': 'application/vnd.kde.kformula',
387
- 'flw': 'application/vnd.kde.kivio',
388
- 'kon': 'application/vnd.kde.kontour',
389
- 'kpr': 'application/vnd.kde.kpresenter',
390
- 'kpt': 'application/vnd.kde.kpresenter',
391
- 'ksp': 'application/vnd.kde.kspread',
392
- 'kwd': 'application/vnd.kde.kword',
393
- 'kwt': 'application/vnd.kde.kword',
394
- 'htke': 'application/vnd.kenameaapp',
395
- 'kia': 'application/vnd.kidspiration',
396
- 'kne': 'application/vnd.kinar',
397
- 'knp': 'application/vnd.kinar',
398
- 'skp': 'application/vnd.koan',
399
- 'skd': 'application/vnd.koan',
400
- 'skt': 'application/vnd.koan',
401
- 'skm': 'application/vnd.koan',
402
- 'sse': 'application/vnd.kodak-descriptor',
403
- 'lasxml': 'application/vnd.las.las+xml',
404
- 'lbd': 'application/vnd.llamagraphics.life-balance.desktop',
405
- 'lbe': 'application/vnd.llamagraphics.life-balance.exchange+xml',
406
- 'apr': 'application/vnd.lotus-approach',
407
- 'pre': 'application/vnd.lotus-freelance',
408
- 'nsf': 'application/vnd.lotus-notes',
409
- 'org': 'text/x-org',
410
- 'scm': 'application/vnd.lotus-screencam',
411
- 'lwp': 'application/vnd.lotus-wordpro',
412
- 'portpkg': 'application/vnd.macports.portpkg',
413
- 'mvt': 'application/vnd.mapbox-vector-tile',
414
- 'mcd': 'application/vnd.mcd',
415
- 'mc1': 'application/vnd.medcalcdata',
416
- 'cdkey': 'application/vnd.mediastation.cdkey',
417
- 'mwf': 'application/vnd.mfer',
418
- 'mfm': 'application/vnd.mfmp',
419
- 'flo': 'application/vnd.micrografx.flo',
420
- 'igx': 'application/vnd.micrografx.igx',
421
- 'mif': 'application/vnd.mif',
422
- 'daf': 'application/vnd.mobius.daf',
423
- 'dis': 'application/vnd.mobius.dis',
424
- 'mbk': 'application/vnd.mobius.mbk',
425
- 'mqy': 'application/vnd.mobius.mqy',
426
- 'msl': 'application/vnd.mobius.msl',
427
- 'plc': 'application/vnd.mobius.plc',
428
- 'txf': 'application/vnd.mobius.txf',
429
- 'mpn': 'application/vnd.mophun.application',
430
- 'mpc': 'application/vnd.mophun.certificate',
431
- 'xul': 'application/vnd.mozilla.xul+xml',
432
- 'cil': 'application/vnd.ms-artgalry',
433
- 'cab': 'application/vnd.ms-cab-compressed',
434
- 'xls': 'application/vnd.ms-excel',
435
- 'xlm': 'application/vnd.ms-excel',
436
- 'xla': 'application/vnd.ms-excel',
437
- 'xlc': 'application/vnd.ms-excel',
438
- 'xlt': 'application/vnd.ms-excel',
439
- 'xlw': 'application/vnd.ms-excel',
440
- 'xlam': 'application/vnd.ms-excel.addin.macroenabled.12',
441
- 'xlsb': 'application/vnd.ms-excel.sheet.binary.macroenabled.12',
442
- 'xlsm': 'application/vnd.ms-excel.sheet.macroenabled.12',
443
- 'xltm': 'application/vnd.ms-excel.template.macroenabled.12',
444
- 'eot': 'application/vnd.ms-fontobject',
445
- 'chm': 'application/vnd.ms-htmlhelp',
446
- 'ims': 'application/vnd.ms-ims',
447
- 'lrm': 'application/vnd.ms-lrm',
448
- 'thmx': 'application/vnd.ms-officetheme',
449
- 'msg': 'application/vnd.ms-outlook',
450
- 'cat': 'application/vnd.ms-pki.seccat',
451
- 'stl': 'model/stl',
452
- 'ppt': 'application/vnd.ms-powerpoint',
453
- 'pps': 'application/vnd.ms-powerpoint',
454
- 'pot': 'application/vnd.ms-powerpoint',
455
- 'ppam': 'application/vnd.ms-powerpoint.addin.macroenabled.12',
456
- 'pptm': 'application/vnd.ms-powerpoint.presentation.macroenabled.12',
457
- 'sldm': 'application/vnd.ms-powerpoint.slide.macroenabled.12',
458
- 'ppsm': 'application/vnd.ms-powerpoint.slideshow.macroenabled.12',
459
- 'potm': 'application/vnd.ms-powerpoint.template.macroenabled.12',
460
- 'mpt': 'application/vnd.ms-project',
461
- 'docm': 'application/vnd.ms-word.document.macroenabled.12',
462
- 'dotm': 'application/vnd.ms-word.template.macroenabled.12',
463
- 'wps': 'application/vnd.ms-works',
464
- 'wks': 'application/vnd.ms-works',
465
- 'wcm': 'application/vnd.ms-works',
466
- 'wdb': 'application/vnd.ms-works',
467
- 'wpl': 'application/vnd.ms-wpl',
468
- 'xps': 'application/vnd.ms-xpsdocument',
469
- 'mseq': 'application/vnd.mseq',
470
- 'mus': 'application/vnd.musician',
471
- 'msty': 'application/vnd.muvee.style',
472
- 'taglet': 'application/vnd.mynfc',
473
- 'nlu': 'application/vnd.neurolanguage.nlu',
474
- 'ntf': 'application/vnd.nitf',
475
- 'nitf': 'application/vnd.nitf',
476
- 'nnd': 'application/vnd.noblenet-directory',
477
- 'nns': 'application/vnd.noblenet-sealer',
478
- 'nnw': 'application/vnd.noblenet-web',
479
- 'ngdat': 'application/vnd.nokia.n-gage.data',
480
- 'n-gage': 'application/vnd.nokia.n-gage.symbian.install',
481
- 'rpst': 'application/vnd.nokia.radio-preset',
482
- 'rpss': 'application/vnd.nokia.radio-presets',
483
- 'edm': 'application/vnd.novadigm.edm',
484
- 'edx': 'application/vnd.novadigm.edx',
485
- 'ext': 'application/vnd.novadigm.ext',
486
- 'odc': 'application/vnd.oasis.opendocument.chart',
487
- 'otc': 'application/vnd.oasis.opendocument.chart-template',
488
- 'odb': 'application/vnd.oasis.opendocument.database',
489
- 'odf': 'application/vnd.oasis.opendocument.formula',
490
- 'odft': 'application/vnd.oasis.opendocument.formula-template',
491
- 'odg': 'application/vnd.oasis.opendocument.graphics',
492
- 'otg': 'application/vnd.oasis.opendocument.graphics-template',
493
- 'odi': 'application/vnd.oasis.opendocument.image',
494
- 'oti': 'application/vnd.oasis.opendocument.image-template',
495
- 'odp': 'application/vnd.oasis.opendocument.presentation',
496
- 'otp': 'application/vnd.oasis.opendocument.presentation-template',
497
- 'ods': 'application/vnd.oasis.opendocument.spreadsheet',
498
- 'ots': 'application/vnd.oasis.opendocument.spreadsheet-template',
499
- 'odt': 'application/vnd.oasis.opendocument.text',
500
- 'odm': 'application/vnd.oasis.opendocument.text-master',
501
- 'ott': 'application/vnd.oasis.opendocument.text-template',
502
- 'oth': 'application/vnd.oasis.opendocument.text-web',
503
- 'xo': 'application/vnd.olpc-sugar',
504
- 'dd2': 'application/vnd.oma.dd2+xml',
505
- 'obgx': 'application/vnd.openblox.game+xml',
506
- 'oxt': 'application/vnd.openofficeorg.extension',
507
- 'osm': 'application/vnd.openstreetmap.data+xml',
508
- 'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
509
- 'sldx': 'application/vnd.openxmlformats-officedocument.presentationml.slide',
510
- 'ppsx': 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
511
- 'potx': 'application/vnd.openxmlformats-officedocument.presentationml.template',
512
- 'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
513
- 'xltx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
514
- 'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
515
- 'dotx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
516
- 'mgp': 'application/vnd.osgeo.mapguide.package',
517
- 'dp': 'application/vnd.osgi.dp',
518
- 'esa': 'application/vnd.osgi.subsystem',
519
- 'pdb': 'application/x-pilot',
520
- 'pqa': 'application/vnd.palm',
521
- 'oprc': 'application/vnd.palm',
522
- 'paw': 'application/vnd.pawaafile',
523
- 'str': 'application/vnd.pg.format',
524
- 'ei6': 'application/vnd.pg.osasli',
525
- 'efif': 'application/vnd.picsel',
526
- 'wg': 'application/vnd.pmi.widget',
527
- 'plf': 'application/vnd.pocketlearn',
528
- 'pbd': 'application/vnd.powerbuilder6',
529
- 'box': 'application/vnd.previewsystems.box',
530
- 'mgz': 'application/vnd.proteus.magazine',
531
- 'qps': 'application/vnd.publishare-delta-tree',
532
- 'ptid': 'application/vnd.pvi.ptid1',
533
- 'qxd': 'application/vnd.quark.quarkxpress',
534
- 'qxt': 'application/vnd.quark.quarkxpress',
535
- 'qwd': 'application/vnd.quark.quarkxpress',
536
- 'qwt': 'application/vnd.quark.quarkxpress',
537
- 'qxl': 'application/vnd.quark.quarkxpress',
538
- 'qxb': 'application/vnd.quark.quarkxpress',
539
- 'rar': 'application/x-rar-compressed',
540
- 'bed': 'application/vnd.realvnc.bed',
541
- 'mxl': 'application/vnd.recordare.musicxml',
542
- 'musicxml': 'application/vnd.recordare.musicxml+xml',
543
- 'cryptonote': 'application/vnd.rig.cryptonote',
544
- 'cod': 'application/vnd.rim.cod',
545
- 'rm': 'application/vnd.rn-realmedia',
546
- 'rmvb': 'application/vnd.rn-realmedia-vbr',
547
- 'link66': 'application/vnd.route66.link66+xml',
548
- 'st': 'application/vnd.sailingtracker.track',
549
- 'see': 'application/vnd.seemail',
550
- 'sema': 'application/vnd.sema',
551
- 'semd': 'application/vnd.semd',
552
- 'semf': 'application/vnd.semf',
553
- 'ifm': 'application/vnd.shana.informed.formdata',
554
- 'itp': 'application/vnd.shana.informed.formtemplate',
555
- 'iif': 'application/vnd.shana.informed.interchange',
556
- 'ipk': 'application/vnd.shana.informed.package',
557
- 'twd': 'application/vnd.simtech-mindmapper',
558
- 'twds': 'application/vnd.simtech-mindmapper',
559
- 'mmf': 'application/vnd.smaf',
560
- 'teacher': 'application/vnd.smart.teacher',
561
- 'fo': 'application/vnd.software602.filler.form+xml',
562
- 'sdkm': 'application/vnd.solent.sdkm+xml',
563
- 'sdkd': 'application/vnd.solent.sdkm+xml',
564
- 'dxp': 'application/vnd.spotfire.dxp',
565
- 'sfs': 'application/vnd.spotfire.sfs',
566
- 'sdc': 'application/vnd.stardivision.calc',
567
- 'sda': 'application/vnd.stardivision.draw',
568
- 'sdd': 'application/vnd.stardivision.impress',
569
- 'smf': 'application/vnd.stardivision.math',
570
- 'sdw': 'application/vnd.stardivision.writer',
571
- 'vor': 'application/vnd.stardivision.writer',
572
- 'sgl': 'application/vnd.stardivision.writer-global',
573
- 'smzip': 'application/vnd.stepmania.package',
574
- 'sm': 'application/vnd.stepmania.stepchart',
575
- 'wadl': 'application/vnd.sun.wadl+xml',
576
- 'sxc': 'application/vnd.sun.xml.calc',
577
- 'stc': 'application/vnd.sun.xml.calc.template',
578
- 'sxd': 'application/vnd.sun.xml.draw',
579
- 'std': 'application/vnd.sun.xml.draw.template',
580
- 'sxi': 'application/vnd.sun.xml.impress',
581
- 'sti': 'application/vnd.sun.xml.impress.template',
582
- 'sxm': 'application/vnd.sun.xml.math',
583
- 'sxw': 'application/vnd.sun.xml.writer',
584
- 'sxg': 'application/vnd.sun.xml.writer.global',
585
- 'stw': 'application/vnd.sun.xml.writer.template',
586
- 'sus': 'application/vnd.sus-calendar',
587
- 'susp': 'application/vnd.sus-calendar',
588
- 'svd': 'application/vnd.svd',
589
- 'sis': 'application/vnd.symbian.install',
590
- 'sisx': 'application/vnd.symbian.install',
591
- 'xsm': 'application/vnd.syncml+xml',
592
- 'bdm': 'application/vnd.syncml.dm+wbxml',
593
- 'xdm': 'application/vnd.syncml.dm+xml',
594
- 'ddf': 'application/vnd.syncml.dmddf+xml',
595
- 'tao': 'application/vnd.tao.intent-module-archive',
596
- 'pcap': 'application/vnd.tcpdump.pcap',
597
- 'cap': 'application/vnd.tcpdump.pcap',
598
- 'dmp': 'application/vnd.tcpdump.pcap',
599
- 'tmo': 'application/vnd.tmobile-livetv',
600
- 'tpt': 'application/vnd.trid.tpt',
601
- 'mxs': 'application/vnd.triscape.mxs',
602
- 'tra': 'application/vnd.trueapp',
603
- 'ufd': 'application/vnd.ufdl',
604
- 'ufdl': 'application/vnd.ufdl',
605
- 'utz': 'application/vnd.uiq.theme',
606
- 'umj': 'application/vnd.umajin',
607
- 'unityweb': 'application/vnd.unity',
608
- 'uoml': 'application/vnd.uoml+xml',
609
- 'vcx': 'application/vnd.vcx',
610
- 'vsd': 'application/vnd.visio',
611
- 'vst': 'application/vnd.visio',
612
- 'vss': 'application/vnd.visio',
613
- 'vsw': 'application/vnd.visio',
614
- 'vis': 'application/vnd.visionary',
615
- 'vsf': 'application/vnd.vsf',
616
- 'wbxml': 'application/vnd.wap.wbxml',
617
- 'wmlc': 'application/vnd.wap.wmlc',
618
- 'wmlsc': 'application/vnd.wap.wmlscriptc',
619
- 'wtb': 'application/vnd.webturbo',
620
- 'nbp': 'application/vnd.wolfram.player',
621
- 'wpd': 'application/vnd.wordperfect',
622
- 'wqd': 'application/vnd.wqd',
623
- 'stf': 'application/vnd.wt.stf',
624
- 'xar': 'application/vnd.xara',
625
- 'xfdl': 'application/vnd.xfdl',
626
- 'hvd': 'application/vnd.yamaha.hv-dic',
627
- 'hvs': 'application/vnd.yamaha.hv-script',
628
- 'hvp': 'application/vnd.yamaha.hv-voice',
629
- 'osf': 'application/vnd.yamaha.openscoreformat',
630
- 'osfpvg': 'application/vnd.yamaha.openscoreformat.osfpvg+xml',
631
- 'saf': 'application/vnd.yamaha.smaf-audio',
632
- 'spf': 'application/vnd.yamaha.smaf-phrase',
633
- 'cmp': 'application/vnd.yellowriver-custom-menu',
634
- 'zir': 'application/vnd.zul',
635
- 'zirz': 'application/vnd.zul',
636
- 'zaz': 'application/vnd.zzazz.deck+xml',
637
- 'vxml': 'application/voicexml+xml',
638
- 'wasm': 'application/wasm',
639
- 'wif': 'application/watcherinfo+xml',
640
- 'wgt': 'application/widget',
641
- 'hlp': 'application/winhlp',
642
- 'wsdl': 'application/wsdl+xml',
643
- 'wspolicy': 'application/wspolicy+xml',
644
- '7z': 'application/x-7z-compressed',
645
- 'abw': 'application/x-abiword',
646
- 'ace': 'application/x-ace-compressed',
647
- 'arj': 'application/x-arj',
648
- 'aab': 'application/x-authorware-bin',
649
- 'x32': 'application/x-authorware-bin',
650
- 'u32': 'application/x-authorware-bin',
651
- 'vox': 'application/x-authorware-bin',
652
- 'aam': 'application/x-authorware-map',
653
- 'aas': 'application/x-authorware-seg',
654
- 'bcpio': 'application/x-bcpio',
655
- 'torrent': 'application/x-bittorrent',
656
- 'blb': 'application/x-blorb',
657
- 'blorb': 'application/x-blorb',
658
- 'bz': 'application/x-bzip',
659
- 'bz2': 'application/x-bzip2',
660
- 'boz': 'application/x-bzip2',
661
- 'cbr': 'application/x-cbr',
662
- 'cba': 'application/x-cbr',
663
- 'cbt': 'application/x-cbr',
664
- 'cbz': 'application/x-cbr',
665
- 'cb7': 'application/x-cbr',
666
- 'vcd': 'application/x-cdlink',
667
- 'cfs': 'application/x-cfs-compressed',
668
- 'chat': 'application/x-chat',
669
- 'pgn': 'application/x-chess-pgn',
670
- 'crx': 'application/x-chrome-extension',
671
- 'cco': 'application/x-cocoa',
672
- 'nsc': 'application/x-conference',
673
- 'cpio': 'application/x-cpio',
674
- 'csh': 'application/x-csh',
675
- 'udeb': 'application/x-debian-package',
676
- 'dgc': 'application/x-dgc-compressed',
677
- 'dir': 'application/x-director',
678
- 'dcr': 'application/x-director',
679
- 'dxr': 'application/x-director',
680
- 'cst': 'application/x-director',
681
- 'cct': 'application/x-director',
682
- 'cxt': 'application/x-director',
683
- 'w3d': 'application/x-director',
684
- 'fgd': 'application/x-director',
685
- 'swa': 'application/x-director',
686
- 'wad': 'application/x-doom',
687
- 'ncx': 'application/x-dtbncx+xml',
688
- 'dtb': 'application/x-dtbook+xml',
689
- 'res': 'application/x-dtbresource+xml',
690
- 'dvi': 'application/x-dvi',
691
- 'evy': 'application/x-envoy',
692
- 'eva': 'application/x-eva',
693
- 'bdf': 'application/x-font-bdf',
694
- 'gsf': 'application/x-font-ghostscript',
695
- 'psf': 'application/x-font-linux-psf',
696
- 'pcf': 'application/x-font-pcf',
697
- 'snf': 'application/x-font-snf',
698
- 'pfa': 'application/x-font-type1',
699
- 'pfb': 'application/x-font-type1',
700
- 'pfm': 'application/x-font-type1',
701
- 'afm': 'application/x-font-type1',
702
- 'arc': 'application/x-freearc',
703
- 'spl': 'application/x-futuresplash',
704
- 'gca': 'application/x-gca-compressed',
705
- 'ulx': 'application/x-glulx',
706
- 'gnumeric': 'application/x-gnumeric',
707
- 'gramps': 'application/x-gramps-xml',
708
- 'gtar': 'application/x-gtar',
709
- 'hdf': 'application/x-hdf',
710
- 'php': 'application/x-httpd-php',
711
- 'install': 'application/x-install-instructions',
712
- 'jardiff': 'application/x-java-archive-diff',
713
- 'jnlp': 'application/x-java-jnlp-file',
714
- 'kdbx': 'application/x-keepass2',
715
- 'latex': 'application/x-latex',
716
- 'luac': 'application/x-lua-bytecode',
717
- 'lzh': 'application/x-lzh-compressed',
718
- 'lha': 'application/x-lzh-compressed',
719
- 'run': 'application/x-makeself',
720
- 'mie': 'application/x-mie',
721
- 'prc': 'model/prc',
722
- 'mobi': 'application/x-mobipocket-ebook',
723
- 'application': 'application/x-ms-application',
724
- 'lnk': 'application/x-ms-shortcut',
725
- 'wmd': 'application/x-ms-wmd',
726
- 'wmz': 'application/x-msmetafile',
727
- 'xbap': 'application/x-ms-xbap',
728
- 'mdb': 'application/x-msaccess',
729
- 'obd': 'application/x-msbinder',
730
- 'crd': 'application/x-mscardfile',
731
- 'clp': 'application/x-msclip',
732
- 'com': 'application/x-msdownload',
733
- 'bat': 'application/x-msdownload',
734
- 'mvb': 'application/x-msmediaview',
735
- 'm13': 'application/x-msmediaview',
736
- 'm14': 'application/x-msmediaview',
737
- 'wmf': 'image/wmf',
738
- 'emf': 'image/emf',
739
- 'emz': 'application/x-msmetafile',
740
- 'mny': 'application/x-msmoney',
741
- 'pub': 'application/x-mspublisher',
742
- 'scd': 'application/x-msschedule',
743
- 'trm': 'application/x-msterminal',
744
- 'wri': 'application/x-mswrite',
745
- 'nc': 'application/x-netcdf',
746
- 'cdf': 'application/x-netcdf',
747
- 'pac': 'application/x-ns-proxy-autoconfig',
748
- 'nzb': 'application/x-nzb',
749
- 'pl': 'application/x-perl',
750
- 'pm': 'application/x-perl',
751
- 'p12': 'application/x-pkcs12',
752
- 'pfx': 'application/x-pkcs12',
753
- 'p7b': 'application/x-pkcs7-certificates',
754
- 'spc': 'application/x-pkcs7-certificates',
755
- 'p7r': 'application/x-pkcs7-certreqresp',
756
- 'rpm': 'application/x-redhat-package-manager',
757
- 'ris': 'application/x-research-info-systems',
758
- 'sea': 'application/x-sea',
759
- 'sh': 'application/x-sh',
760
- 'shar': 'application/x-shar',
761
- 'swf': 'application/x-shockwave-flash',
762
- 'xap': 'application/x-silverlight-app',
763
- 'sql': 'application/x-sql',
764
- 'sit': 'application/x-stuffit',
765
- 'sitx': 'application/x-stuffitx',
766
- 'srt': 'application/x-subrip',
767
- 'sv4cpio': 'application/x-sv4cpio',
768
- 'sv4crc': 'application/x-sv4crc',
769
- 't3': 'application/x-t3vm-image',
770
- 'gam': 'application/x-tads',
771
- 'tar': 'application/x-tar',
772
- 'tcl': 'application/x-tcl',
773
- 'tk': 'application/x-tcl',
774
- 'tex': 'application/x-tex',
775
- 'tfm': 'application/x-tex-tfm',
776
- 'texinfo': 'application/x-texinfo',
777
- 'texi': 'application/x-texinfo',
778
- 'obj': 'model/obj',
779
- 'ustar': 'application/x-ustar',
780
- 'hdd': 'application/x-virtualbox-hdd',
781
- 'ova': 'application/x-virtualbox-ova',
782
- 'ovf': 'application/x-virtualbox-ovf',
783
- 'vbox': 'application/x-virtualbox-vbox',
784
- 'vbox-extpack': 'application/x-virtualbox-vbox-extpack',
785
- 'vdi': 'application/x-virtualbox-vdi',
786
- 'vhd': 'application/x-virtualbox-vhd',
787
- 'vmdk': 'application/x-virtualbox-vmdk',
788
- 'src': 'application/x-wais-source',
789
- 'webapp': 'application/x-web-app-manifest+json',
790
- 'der': 'application/x-x509-ca-cert',
791
- 'crt': 'application/x-x509-ca-cert',
792
- 'pem': 'application/x-x509-ca-cert',
793
- 'fig': 'application/x-xfig',
794
- 'xlf': 'application/xliff+xml',
795
- 'xpi': 'application/x-xpinstall',
796
- 'xz': 'application/x-xz',
797
- 'z1': 'application/x-zmachine',
798
- 'z2': 'application/x-zmachine',
799
- 'z3': 'application/x-zmachine',
800
- 'z4': 'application/x-zmachine',
801
- 'z5': 'application/x-zmachine',
802
- 'z6': 'application/x-zmachine',
803
- 'z7': 'application/x-zmachine',
804
- 'z8': 'application/x-zmachine',
805
- 'xaml': 'application/xaml+xml',
806
- 'xav': 'application/xcap-att+xml',
807
- 'xca': 'application/xcap-caps+xml',
808
- 'xdf': 'application/xcap-diff+xml',
809
- 'xel': 'application/xcap-el+xml',
810
- 'xns': 'application/xcap-ns+xml',
811
- 'xenc': 'application/xenc+xml',
812
- 'xhtml': 'application/xhtml+xml',
813
- 'xht': 'application/xhtml+xml',
814
- 'xml': 'text/xml',
815
- 'xsl': 'application/xslt+xml',
816
- 'xsd': 'application/xml',
817
- 'rng': 'application/xml',
818
- 'dtd': 'application/xml-dtd',
819
- 'xop': 'application/xop+xml',
820
- 'xpl': 'application/xproc+xml',
821
- 'xslt': 'application/xslt+xml',
822
- 'xspf': 'application/xspf+xml',
823
- 'mxml': 'application/xv+xml',
824
- 'xhvml': 'application/xv+xml',
825
- 'xvml': 'application/xv+xml',
826
- 'xvm': 'application/xv+xml',
827
- 'yang': 'application/yang',
828
- 'yin': 'application/yin+xml',
829
- 'zip': 'application/zip',
830
- '3gpp': 'video/3gpp',
831
- 'adp': 'audio/adpcm',
832
- 'amr': 'audio/amr',
833
- 'au': 'audio/basic',
834
- 'snd': 'audio/basic',
835
- 'mid': 'audio/midi',
836
- 'midi': 'audio/midi',
837
- 'kar': 'audio/midi',
838
- 'rmi': 'audio/midi',
839
- 'mxmf': 'audio/mobile-xmf',
840
- 'mp3': 'audio/mpeg',
841
- 'm4a': 'audio/x-m4a',
842
- 'mp4a': 'audio/mp4',
843
- 'mpga': 'audio/mpeg',
844
- 'mp2': 'audio/mpeg',
845
- 'mp2a': 'audio/mpeg',
846
- 'm2a': 'audio/mpeg',
847
- 'm3a': 'audio/mpeg',
848
- 'oga': 'audio/ogg',
849
- 'ogg': 'audio/ogg',
850
- 'spx': 'audio/ogg',
851
- 'opus': 'audio/ogg',
852
- 's3m': 'audio/s3m',
853
- 'sil': 'audio/silk',
854
- 'uva': 'audio/vnd.dece.audio',
855
- 'uvva': 'audio/vnd.dece.audio',
856
- 'eol': 'audio/vnd.digital-winds',
857
- 'dra': 'audio/vnd.dra',
858
- 'dts': 'audio/vnd.dts',
859
- 'dtshd': 'audio/vnd.dts.hd',
860
- 'lvp': 'audio/vnd.lucent.voice',
861
- 'pya': 'audio/vnd.ms-playready.media.pya',
862
- 'ecelp4800': 'audio/vnd.nuera.ecelp4800',
863
- 'ecelp7470': 'audio/vnd.nuera.ecelp7470',
864
- 'ecelp9600': 'audio/vnd.nuera.ecelp9600',
865
- 'rip': 'audio/vnd.rip',
866
- 'wav': 'audio/x-wav',
867
- 'weba': 'audio/webm',
868
- 'aac': 'audio/x-aac',
869
- 'aif': 'audio/x-aiff',
870
- 'aiff': 'audio/x-aiff',
871
- 'aifc': 'audio/x-aiff',
872
- 'caf': 'audio/x-caf',
873
- 'flac': 'audio/x-flac',
874
- 'mka': 'audio/x-matroska',
875
- 'm3u': 'audio/x-mpegurl',
876
- 'wax': 'audio/x-ms-wax',
877
- 'wma': 'audio/x-ms-wma',
878
- 'ram': 'audio/x-pn-realaudio',
879
- 'ra': 'audio/x-realaudio',
880
- 'rmp': 'audio/x-pn-realaudio-plugin',
881
- 'xm': 'audio/xm',
882
- 'cdx': 'chemical/x-cdx',
883
- 'cif': 'chemical/x-cif',
884
- 'cmdf': 'chemical/x-cmdf',
885
- 'cml': 'chemical/x-cml',
886
- 'csml': 'chemical/x-csml',
887
- 'xyz': 'chemical/x-xyz',
888
- 'ttc': 'font/collection',
889
- 'otf': 'font/otf',
890
- 'ttf': 'font/ttf',
891
- 'woff': 'font/woff',
892
- 'woff2': 'font/woff2',
893
- 'exr': 'image/aces',
894
- 'apng': 'image/apng',
895
- 'avci': 'image/avci',
896
- 'avcs': 'image/avcs',
897
- 'avif': 'image/avif',
898
- 'bmp': 'image/x-ms-bmp',
899
- 'cgm': 'image/cgm',
900
- 'drle': 'image/dicom-rle',
901
- 'fits': 'image/fits',
902
- 'g3': 'image/g3fax',
903
- 'gif': 'image/gif',
904
- 'heic': 'image/heic',
905
- 'heics': 'image/heic-sequence',
906
- 'heif': 'image/heif',
907
- 'heifs': 'image/heif-sequence',
908
- 'hej2': 'image/hej2k',
909
- 'hsj2': 'image/hsj2',
910
- 'ief': 'image/ief',
911
- 'jls': 'image/jls',
912
- 'jp2': 'image/jp2',
913
- 'jpg2': 'image/jp2',
914
- 'jpeg': 'image/jpeg',
915
- 'jpg': 'image/jpeg',
916
- 'jpe': 'image/jpeg',
917
- 'jph': 'image/jph',
918
- 'jhc': 'image/jphc',
919
- 'jpm': 'video/jpm',
920
- 'jpx': 'image/jpx',
921
- 'jpf': 'image/jpx',
922
- 'jxr': 'image/jxr',
923
- 'jxra': 'image/jxra',
924
- 'jxrs': 'image/jxrs',
925
- 'jxs': 'image/jxs',
926
- 'jxsc': 'image/jxsc',
927
- 'jxsi': 'image/jxsi',
928
- 'jxss': 'image/jxss',
929
- 'ktx': 'image/ktx',
930
- 'ktx2': 'image/ktx2',
931
- 'png': 'image/png',
932
- 'btif': 'image/prs.btif',
933
- 'pti': 'image/prs.pti',
934
- 'sgi': 'image/sgi',
935
- 'svg': 'image/svg+xml',
936
- 'svgz': 'image/svg+xml',
937
- 't38': 'image/t38',
938
- 'tif': 'image/tiff',
939
- 'tiff': 'image/tiff',
940
- 'tfx': 'image/tiff-fx',
941
- 'psd': 'image/vnd.adobe.photoshop',
942
- 'azv': 'image/vnd.airzip.accelerator.azv',
943
- 'uvi': 'image/vnd.dece.graphic',
944
- 'uvvi': 'image/vnd.dece.graphic',
945
- 'uvg': 'image/vnd.dece.graphic',
946
- 'uvvg': 'image/vnd.dece.graphic',
947
- 'djvu': 'image/vnd.djvu',
948
- 'djv': 'image/vnd.djvu',
949
- 'sub': 'text/vnd.dvb.subtitle',
950
- 'dwg': 'image/vnd.dwg',
951
- 'dxf': 'image/vnd.dxf',
952
- 'fbs': 'image/vnd.fastbidsheet',
953
- 'fpx': 'image/vnd.fpx',
954
- 'fst': 'image/vnd.fst',
955
- 'mmr': 'image/vnd.fujixerox.edmics-mmr',
956
- 'rlc': 'image/vnd.fujixerox.edmics-rlc',
957
- 'ico': 'image/x-icon',
958
- 'dds': 'image/vnd.ms-dds',
959
- 'mdi': 'image/vnd.ms-modi',
960
- 'wdp': 'image/vnd.ms-photo',
961
- 'npx': 'image/vnd.net-fpx',
962
- 'b16': 'image/vnd.pco.b16',
963
- 'tap': 'image/vnd.tencent.tap',
964
- 'vtf': 'image/vnd.valve.source.texture',
965
- 'wbmp': 'image/vnd.wap.wbmp',
966
- 'xif': 'image/vnd.xiff',
967
- 'pcx': 'image/x-pcx',
968
- 'webp': 'image/webp',
969
- '3ds': 'image/x-3ds',
970
- 'ras': 'image/x-cmu-raster',
971
- 'cmx': 'image/x-cmx',
972
- 'fh': 'image/x-freehand',
973
- 'fhc': 'image/x-freehand',
974
- 'fh4': 'image/x-freehand',
975
- 'fh5': 'image/x-freehand',
976
- 'fh7': 'image/x-freehand',
977
- 'jng': 'image/x-jng',
978
- 'sid': 'image/x-mrsid-image',
979
- 'pic': 'image/x-pict',
980
- 'pct': 'image/x-pict',
981
- 'pnm': 'image/x-portable-anymap',
982
- 'pbm': 'image/x-portable-bitmap',
983
- 'pgm': 'image/x-portable-graymap',
984
- 'ppm': 'image/x-portable-pixmap',
985
- 'rgb': 'image/x-rgb',
986
- 'tga': 'image/x-tga',
987
- 'xbm': 'image/x-xbitmap',
988
- 'xpm': 'image/x-xpixmap',
989
- 'xwd': 'image/x-xwindowdump',
990
- 'disposition-notification': 'message/disposition-notification',
991
- 'u8msg': 'message/global',
992
- 'u8dsn': 'message/global-delivery-status',
993
- 'u8mdn': 'message/global-disposition-notification',
994
- 'u8hdr': 'message/global-headers',
995
- 'eml': 'message/rfc822',
996
- 'mime': 'message/rfc822',
997
- 'wsc': 'message/vnd.wfa.wsc',
998
- '3mf': 'model/3mf',
999
- 'gltf': 'model/gltf+json',
1000
- 'glb': 'model/gltf-binary',
1001
- 'igs': 'model/iges',
1002
- 'iges': 'model/iges',
1003
- 'msh': 'model/mesh',
1004
- 'mesh': 'model/mesh',
1005
- 'silo': 'model/mesh',
1006
- 'mtl': 'model/mtl',
1007
- 'stpx': 'model/step+xml',
1008
- 'stpz': 'model/step+zip',
1009
- 'stpxz': 'model/step-xml+zip',
1010
- 'u3d': 'model/u3d',
1011
- 'dae': 'model/vnd.collada+xml',
1012
- 'dwf': 'model/vnd.dwf',
1013
- 'gdl': 'model/vnd.gdl',
1014
- 'gtw': 'model/vnd.gtw',
1015
- 'mts': 'model/vnd.mts',
1016
- 'ogex': 'model/vnd.opengex',
1017
- 'x_b': 'model/vnd.parasolid.transmit.binary',
1018
- 'x_t': 'model/vnd.parasolid.transmit.text',
1019
- 'vds': 'model/vnd.sap.vds',
1020
- 'usdz': 'model/vnd.usdz+zip',
1021
- 'bsp': 'model/vnd.valve.source.compiled-map',
1022
- 'vtu': 'model/vnd.vtu',
1023
- 'wrl': 'model/vrml',
1024
- 'vrml': 'model/vrml',
1025
- 'x3db': 'model/x3d+fastinfoset',
1026
- 'x3dbz': 'model/x3d+binary',
1027
- 'x3dv': 'model/x3d-vrml',
1028
- 'x3dvz': 'model/x3d+vrml',
1029
- 'x3d': 'model/x3d+xml',
1030
- 'x3dz': 'model/x3d+xml',
1031
- 'appcache': 'text/cache-manifest',
1032
- 'manifest': 'text/cache-manifest',
1033
- 'ics': 'text/calendar',
1034
- 'ifb': 'text/calendar',
1035
- 'coffee': 'text/coffeescript',
1036
- 'litcoffee': 'text/coffeescript',
1037
- 'css': 'text/css',
1038
- 'csv': 'text/csv',
1039
- 'html': 'text/html',
1040
- 'htm': 'text/html',
1041
- 'shtml': 'text/html',
1042
- 'jade': 'text/jade',
1043
- 'jsx': 'text/jsx',
1044
- 'less': 'text/less',
1045
- 'markdown': 'text/markdown',
1046
- 'md': 'text/markdown',
1047
- 'mml': 'text/mathml',
1048
- 'mdx': 'text/mdx',
1049
- 'n3': 'text/n3',
1050
- 'txt': 'text/plain',
1051
- 'text': 'text/plain',
1052
- 'conf': 'text/plain',
1053
- 'def': 'text/plain',
1054
- 'list': 'text/plain',
1055
- 'log': 'text/plain',
1056
- 'in': 'text/plain',
1057
- 'ini': 'text/plain',
1058
- 'dsc': 'text/prs.lines.tag',
1059
- 'rtx': 'text/richtext',
1060
- 'sgml': 'text/sgml',
1061
- 'sgm': 'text/sgml',
1062
- 'shex': 'text/shex',
1063
- 'slim': 'text/slim',
1064
- 'slm': 'text/slim',
1065
- 'spdx': 'text/spdx',
1066
- 'stylus': 'text/stylus',
1067
- 'styl': 'text/stylus',
1068
- 'tsv': 'text/tab-separated-values',
1069
- 't': 'text/troff',
1070
- 'tr': 'text/troff',
1071
- 'roff': 'text/troff',
1072
- 'man': 'text/troff',
1073
- 'me': 'text/troff',
1074
- 'ms': 'text/troff',
1075
- 'ttl': 'text/turtle',
1076
- 'uri': 'text/uri-list',
1077
- 'uris': 'text/uri-list',
1078
- 'urls': 'text/uri-list',
1079
- 'vcard': 'text/vcard',
1080
- 'curl': 'text/vnd.curl',
1081
- 'dcurl': 'text/vnd.curl.dcurl',
1082
- 'mcurl': 'text/vnd.curl.mcurl',
1083
- 'scurl': 'text/vnd.curl.scurl',
1084
- 'ged': 'text/vnd.familysearch.gedcom',
1085
- 'fly': 'text/vnd.fly',
1086
- 'flx': 'text/vnd.fmi.flexstor',
1087
- 'gv': 'text/vnd.graphviz',
1088
- '3dml': 'text/vnd.in3d.3dml',
1089
- 'spot': 'text/vnd.in3d.spot',
1090
- 'jad': 'text/vnd.sun.j2me.app-descriptor',
1091
- 'wml': 'text/vnd.wap.wml',
1092
- 'wmls': 'text/vnd.wap.wmlscript',
1093
- 'vtt': 'text/vtt',
1094
- 's': 'text/x-asm',
1095
- 'asm': 'text/x-asm',
1096
- 'c': 'text/x-c',
1097
- 'cc': 'text/x-c',
1098
- 'cxx': 'text/x-c',
1099
- 'cpp': 'text/x-c',
1100
- 'h': 'text/x-c',
1101
- 'hh': 'text/x-c',
1102
- 'dic': 'text/x-c',
1103
- 'htc': 'text/x-component',
1104
- 'f': 'text/x-fortran',
1105
- 'for': 'text/x-fortran',
1106
- 'f77': 'text/x-fortran',
1107
- 'f90': 'text/x-fortran',
1108
- 'hbs': 'text/x-handlebars-template',
1109
- 'java': 'text/x-java-source',
1110
- 'lua': 'text/x-lua',
1111
- 'mkd': 'text/x-markdown',
1112
- 'nfo': 'text/x-nfo',
1113
- 'opml': 'text/x-opml',
1114
- 'p': 'text/x-pascal',
1115
- 'pas': 'text/x-pascal',
1116
- 'pde': 'text/x-processing',
1117
- 'sass': 'text/x-sass',
1118
- 'scss': 'text/x-scss',
1119
- 'etx': 'text/x-setext',
1120
- 'sfv': 'text/x-sfv',
1121
- 'ymp': 'text/x-suse-ymp',
1122
- 'uu': 'text/x-uuencode',
1123
- 'vcs': 'text/x-vcalendar',
1124
- 'vcf': 'text/x-vcard',
1125
- 'yaml': 'text/yaml',
1126
- 'yml': 'text/yaml',
1127
- '3gp': 'video/3gpp',
1128
- '3g2': 'video/3gpp2',
1129
- 'h261': 'video/h261',
1130
- 'h263': 'video/h263',
1131
- 'h264': 'video/h264',
1132
- 'm4s': 'video/iso.segment',
1133
- 'jpgv': 'video/jpeg',
1134
- 'jpgm': 'video/jpm',
1135
- 'mj2': 'video/mj2',
1136
- 'mjp2': 'video/mj2',
1137
- 'ts': 'video/mp2t',
1138
- 'mp4': 'video/mp4',
1139
- 'mp4v': 'video/mp4',
1140
- 'mpg4': 'video/mp4',
1141
- 'mpeg': 'video/mpeg',
1142
- 'mpg': 'video/mpeg',
1143
- 'mpe': 'video/mpeg',
1144
- 'm1v': 'video/mpeg',
1145
- 'm2v': 'video/mpeg',
1146
- 'ogv': 'video/ogg',
1147
- 'qt': 'video/quicktime',
1148
- 'mov': 'video/quicktime',
1149
- 'uvh': 'video/vnd.dece.hd',
1150
- 'uvvh': 'video/vnd.dece.hd',
1151
- 'uvm': 'video/vnd.dece.mobile',
1152
- 'uvvm': 'video/vnd.dece.mobile',
1153
- 'uvp': 'video/vnd.dece.pd',
1154
- 'uvvp': 'video/vnd.dece.pd',
1155
- 'uvs': 'video/vnd.dece.sd',
1156
- 'uvvs': 'video/vnd.dece.sd',
1157
- 'uvv': 'video/vnd.dece.video',
1158
- 'uvvv': 'video/vnd.dece.video',
1159
- 'dvb': 'video/vnd.dvb.file',
1160
- 'fvt': 'video/vnd.fvt',
1161
- 'mxu': 'video/vnd.mpegurl',
1162
- 'm4u': 'video/vnd.mpegurl',
1163
- 'pyv': 'video/vnd.ms-playready.media.pyv',
1164
- 'uvu': 'video/vnd.uvvu.mp4',
1165
- 'uvvu': 'video/vnd.uvvu.mp4',
1166
- 'viv': 'video/vnd.vivo',
1167
- 'webm': 'video/webm',
1168
- 'f4v': 'video/x-f4v',
1169
- 'fli': 'video/x-fli',
1170
- 'flv': 'video/x-flv',
1171
- 'm4v': 'video/x-m4v',
1172
- 'mkv': 'video/x-matroska',
1173
- 'mk3d': 'video/x-matroska',
1174
- 'mks': 'video/x-matroska',
1175
- 'mng': 'video/x-mng',
1176
- 'asf': 'video/x-ms-asf',
1177
- 'asx': 'video/x-ms-asf',
1178
- 'vob': 'video/x-ms-vob',
1179
- 'wm': 'video/x-ms-wm',
1180
- 'wmv': 'video/x-ms-wmv',
1181
- 'wmx': 'video/x-ms-wmx',
1182
- 'wvx': 'video/x-ms-wvx',
1183
- 'avi': 'video/x-msvideo',
1184
- 'movie': 'video/x-sgi-movie',
1185
- 'smv': 'video/x-smv',
1186
- 'ice': 'x-conference/x-cooltalk',
7
+ "123": "application/vnd.lotus-1-2-3",
8
+ "ez": "application/andrew-inset",
9
+ "aw": "application/applixware",
10
+ "atom": "application/atom+xml",
11
+ "atomcat": "application/atomcat+xml",
12
+ "atomdeleted": "application/atomdeleted+xml",
13
+ "atomsvc": "application/atomsvc+xml",
14
+ "dwd": "application/atsc-dwd+xml",
15
+ "held": "application/atsc-held+xml",
16
+ "rsat": "application/atsc-rsat+xml",
17
+ "bdoc": "application/x-bdoc",
18
+ "xcs": "application/calendar+xml",
19
+ "ccxml": "application/ccxml+xml",
20
+ "cdfx": "application/cdfx+xml",
21
+ "cdmia": "application/cdmi-capability",
22
+ "cdmic": "application/cdmi-container",
23
+ "cdmid": "application/cdmi-domain",
24
+ "cdmio": "application/cdmi-object",
25
+ "cdmiq": "application/cdmi-queue",
26
+ "cpl": "application/cpl+xml",
27
+ "cu": "application/cu-seeme",
28
+ "cwl": "application/cwl",
29
+ "mpd": "application/dash+xml",
30
+ "mpp": "application/vnd.ms-project",
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
+ "emotionml": "application/emotionml+xml",
38
+ "epub": "application/epub+zip",
39
+ "exi": "application/exi",
40
+ "exp": "application/express",
41
+ "fdf": "application/vnd.fdf",
42
+ "fdt": "application/fdt+xml",
43
+ "pfr": "application/font-tdpfr",
44
+ "geojson": "application/geo+json",
45
+ "gml": "application/gml+xml",
46
+ "gpx": "application/gpx+xml",
47
+ "gxf": "application/gxf",
48
+ "gz": "application/gzip",
49
+ "hjson": "application/hjson",
50
+ "stk": "application/hyperstudio",
51
+ "ink": "application/inkml+xml",
52
+ "inkml": "application/inkml+xml",
53
+ "ipfix": "application/ipfix",
54
+ "its": "application/its+xml",
55
+ "jar": "application/java-archive",
56
+ "war": "application/java-archive",
57
+ "ear": "application/java-archive",
58
+ "ser": "application/java-serialized-object",
59
+ "class": "application/java-vm",
60
+ "js": "application/javascript",
61
+ "mjs": "application/javascript",
62
+ "json": "application/json",
63
+ "map": "application/json",
64
+ "json5": "application/json5",
65
+ "jsonml": "application/jsonml+json",
66
+ "jsonld": "application/ld+json",
67
+ "lgr": "application/lgr+xml",
68
+ "lostxml": "application/lost+xml",
69
+ "hqx": "application/mac-binhex40",
70
+ "cpt": "application/mac-compactpro",
71
+ "mads": "application/mads+xml",
72
+ "webmanifest": "application/manifest+json",
73
+ "mrc": "application/marc",
74
+ "mrcx": "application/marcxml+xml",
75
+ "ma": "application/mathematica",
76
+ "nb": "application/mathematica",
77
+ "mb": "application/mathematica",
78
+ "mathml": "application/mathml+xml",
79
+ "mbox": "application/mbox",
80
+ "mpf": "application/media-policy-dataset+xml",
81
+ "mscml": "application/mediaservercontrol+xml",
82
+ "metalink": "application/metalink+xml",
83
+ "meta4": "application/metalink4+xml",
84
+ "mets": "application/mets+xml",
85
+ "maei": "application/mmt-aei+xml",
86
+ "musd": "application/mmt-usd+xml",
87
+ "mods": "application/mods+xml",
88
+ "m21": "application/mp21",
89
+ "mp21": "application/mp21",
90
+ "mp4s": "application/mp4",
91
+ "m4p": "application/mp4",
92
+ "doc": "application/msword",
93
+ "dot": "application/msword",
94
+ "mxf": "application/mxf",
95
+ "nq": "application/n-quads",
96
+ "nt": "application/n-triples",
97
+ "cjs": "application/node",
98
+ "bin": "application/octet-stream",
99
+ "dms": "application/octet-stream",
100
+ "lrf": "application/octet-stream",
101
+ "mar": "application/octet-stream",
102
+ "so": "application/octet-stream",
103
+ "dist": "application/octet-stream",
104
+ "distz": "application/octet-stream",
105
+ "pkg": "application/octet-stream",
106
+ "bpk": "application/octet-stream",
107
+ "dump": "application/octet-stream",
108
+ "elc": "application/octet-stream",
109
+ "deploy": "application/octet-stream",
110
+ "exe": "application/x-msdownload",
111
+ "dll": "application/x-msdownload",
112
+ "deb": "application/x-debian-package",
113
+ "dmg": "application/x-apple-diskimage",
114
+ "iso": "application/x-iso9660-image",
115
+ "img": "application/octet-stream",
116
+ "msi": "application/x-msdownload",
117
+ "msp": "application/octet-stream",
118
+ "msm": "application/octet-stream",
119
+ "buffer": "application/octet-stream",
120
+ "oda": "application/oda",
121
+ "opf": "application/oebps-package+xml",
122
+ "ogx": "application/ogg",
123
+ "omdoc": "application/omdoc+xml",
124
+ "onetoc": "application/onenote",
125
+ "onetoc2": "application/onenote",
126
+ "onetmp": "application/onenote",
127
+ "onepkg": "application/onenote",
128
+ "oxps": "application/oxps",
129
+ "relo": "application/p2p-overlay+xml",
130
+ "xer": "application/patch-ops-error+xml",
131
+ "pdf": "application/pdf",
132
+ "pgp": "application/pgp-encrypted",
133
+ "asc": "application/pgp-signature",
134
+ "sig": "application/pgp-signature",
135
+ "prf": "application/pics-rules",
136
+ "p10": "application/pkcs10",
137
+ "p7m": "application/pkcs7-mime",
138
+ "p7c": "application/pkcs7-mime",
139
+ "p7s": "application/pkcs7-signature",
140
+ "p8": "application/pkcs8",
141
+ "ac": "application/vnd.nokia.n-gage.ac+xml",
142
+ "cer": "application/pkix-cert",
143
+ "crl": "application/pkix-crl",
144
+ "pkipath": "application/pkix-pkipath",
145
+ "pki": "application/pkixcmp",
146
+ "pls": "application/pls+xml",
147
+ "ai": "application/postscript",
148
+ "eps": "application/postscript",
149
+ "ps": "application/postscript",
150
+ "provx": "application/provenance+xml",
151
+ "cww": "application/prs.cww",
152
+ "pskcxml": "application/pskc+xml",
153
+ "raml": "application/raml+yaml",
154
+ "rdf": "application/rdf+xml",
155
+ "owl": "application/rdf+xml",
156
+ "rif": "application/reginfo+xml",
157
+ "rnc": "application/relax-ng-compact-syntax",
158
+ "rl": "application/resource-lists+xml",
159
+ "rld": "application/resource-lists-diff+xml",
160
+ "rs": "application/rls-services+xml",
161
+ "rapd": "application/route-apd+xml",
162
+ "sls": "application/route-s-tsid+xml",
163
+ "rusd": "application/route-usd+xml",
164
+ "gbr": "application/rpki-ghostbusters",
165
+ "mft": "application/rpki-manifest",
166
+ "roa": "application/rpki-roa",
167
+ "rsd": "application/rsd+xml",
168
+ "rss": "application/rss+xml",
169
+ "rtf": "text/rtf",
170
+ "sbml": "application/sbml+xml",
171
+ "scq": "application/scvp-cv-request",
172
+ "scs": "application/scvp-cv-response",
173
+ "spq": "application/scvp-vp-request",
174
+ "spp": "application/scvp-vp-response",
175
+ "sdp": "application/sdp",
176
+ "senmlx": "application/senml+xml",
177
+ "sensmlx": "application/sensml+xml",
178
+ "setpay": "application/set-payment-initiation",
179
+ "setreg": "application/set-registration-initiation",
180
+ "shf": "application/shf+xml",
181
+ "siv": "application/sieve",
182
+ "sieve": "application/sieve",
183
+ "smi": "application/smil+xml",
184
+ "smil": "application/smil+xml",
185
+ "rq": "application/sparql-query",
186
+ "srx": "application/sparql-results+xml",
187
+ "gram": "application/srgs",
188
+ "grxml": "application/srgs+xml",
189
+ "sru": "application/sru+xml",
190
+ "ssdl": "application/ssdl+xml",
191
+ "ssml": "application/ssml+xml",
192
+ "swidtag": "application/swid+xml",
193
+ "tei": "application/tei+xml",
194
+ "teicorpus": "application/tei+xml",
195
+ "tfi": "application/thraud+xml",
196
+ "tsd": "application/timestamped-data",
197
+ "toml": "application/toml",
198
+ "trig": "application/trig",
199
+ "ttml": "application/ttml+xml",
200
+ "ubj": "application/ubjson",
201
+ "rsheet": "application/urc-ressheet+xml",
202
+ "td": "application/urc-targetdesc+xml",
203
+ "1km": "application/vnd.1000minds.decision-model+xml",
204
+ "plb": "application/vnd.3gpp.pic-bw-large",
205
+ "psb": "application/vnd.3gpp.pic-bw-small",
206
+ "pvb": "application/vnd.3gpp.pic-bw-var",
207
+ "tcap": "application/vnd.3gpp2.tcap",
208
+ "pwn": "application/vnd.3m.post-it-notes",
209
+ "aso": "application/vnd.accpac.simply.aso",
210
+ "imp": "application/vnd.accpac.simply.imp",
211
+ "acu": "application/vnd.acucobol",
212
+ "atc": "application/vnd.acucorp",
213
+ "acutc": "application/vnd.acucorp",
214
+ "air": "application/vnd.adobe.air-application-installer-package+zip",
215
+ "fcdt": "application/vnd.adobe.formscentral.fcdt",
216
+ "fxp": "application/vnd.adobe.fxp",
217
+ "fxpl": "application/vnd.adobe.fxp",
218
+ "xdp": "application/vnd.adobe.xdp+xml",
219
+ "xfdf": "application/xfdf",
220
+ "age": "application/vnd.age",
221
+ "ahead": "application/vnd.ahead.space",
222
+ "azf": "application/vnd.airzip.filesecure.azf",
223
+ "azs": "application/vnd.airzip.filesecure.azs",
224
+ "azw": "application/vnd.amazon.ebook",
225
+ "acc": "application/vnd.americandynamics.acc",
226
+ "ami": "application/vnd.amiga.ami",
227
+ "apk": "application/vnd.android.package-archive",
228
+ "cii": "application/vnd.anser-web-certificate-issue-initiation",
229
+ "fti": "application/vnd.anser-web-funds-transfer-initiation",
230
+ "atx": "application/vnd.antix.game-component",
231
+ "mpkg": "application/vnd.apple.installer+xml",
232
+ "key": "application/x-iwork-keynote-sffkey",
233
+ "m3u8": "application/vnd.apple.mpegurl",
234
+ "numbers": "application/x-iwork-numbers-sffnumbers",
235
+ "pages": "application/x-iwork-pages-sffpages",
236
+ "pkpass": "application/vnd.apple.pkpass",
237
+ "swi": "application/vnd.aristanetworks.swi",
238
+ "iota": "application/vnd.astraea-software.iota",
239
+ "aep": "application/vnd.audiograph",
240
+ "bmml": "application/vnd.balsamiq.bmml+xml",
241
+ "mpm": "application/vnd.blueice.multipass",
242
+ "bmi": "application/vnd.bmi",
243
+ "rep": "application/vnd.businessobjects",
244
+ "cdxml": "application/vnd.chemdraw+xml",
245
+ "mmd": "application/vnd.chipnuts.karaoke-mmd",
246
+ "cdy": "application/vnd.cinderella",
247
+ "csl": "application/vnd.citationstyles.style+xml",
248
+ "cla": "application/vnd.claymore",
249
+ "rp9": "application/vnd.cloanto.rp9",
250
+ "c4g": "application/vnd.clonk.c4group",
251
+ "c4d": "application/vnd.clonk.c4group",
252
+ "c4f": "application/vnd.clonk.c4group",
253
+ "c4p": "application/vnd.clonk.c4group",
254
+ "c4u": "application/vnd.clonk.c4group",
255
+ "c11amc": "application/vnd.cluetrust.cartomobile-config",
256
+ "c11amz": "application/vnd.cluetrust.cartomobile-config-pkg",
257
+ "csp": "application/vnd.commonspace",
258
+ "cdbcmsg": "application/vnd.contact.cmsg",
259
+ "cmc": "application/vnd.cosmocaller",
260
+ "clkx": "application/vnd.crick.clicker",
261
+ "clkk": "application/vnd.crick.clicker.keyboard",
262
+ "clkp": "application/vnd.crick.clicker.palette",
263
+ "clkt": "application/vnd.crick.clicker.template",
264
+ "clkw": "application/vnd.crick.clicker.wordbank",
265
+ "wbs": "application/vnd.criticaltools.wbs+xml",
266
+ "pml": "application/vnd.ctc-posml",
267
+ "ppd": "application/vnd.cups-ppd",
268
+ "car": "application/vnd.curl.car",
269
+ "pcurl": "application/vnd.curl.pcurl",
270
+ "dart": "application/vnd.dart",
271
+ "rdz": "application/vnd.data-vision.rdz",
272
+ "dbf": "application/vnd.dbf",
273
+ "uvf": "application/vnd.dece.data",
274
+ "uvvf": "application/vnd.dece.data",
275
+ "uvd": "application/vnd.dece.data",
276
+ "uvvd": "application/vnd.dece.data",
277
+ "uvt": "application/vnd.dece.ttml+xml",
278
+ "uvvt": "application/vnd.dece.ttml+xml",
279
+ "uvx": "application/vnd.dece.unspecified",
280
+ "uvvx": "application/vnd.dece.unspecified",
281
+ "uvz": "application/vnd.dece.zip",
282
+ "uvvz": "application/vnd.dece.zip",
283
+ "fe_launch": "application/vnd.denovo.fcselayout-link",
284
+ "dna": "application/vnd.dna",
285
+ "mlp": "application/vnd.dolby.mlp",
286
+ "dpg": "application/vnd.dpgraph",
287
+ "dfac": "application/vnd.dreamfactory",
288
+ "kpxx": "application/vnd.ds-keypoint",
289
+ "ait": "application/vnd.dvb.ait",
290
+ "svc": "application/vnd.dvb.service",
291
+ "geo": "application/vnd.dynageo",
292
+ "mag": "application/vnd.ecowin.chart",
293
+ "nml": "application/vnd.enliven",
294
+ "esf": "application/vnd.epson.esf",
295
+ "msf": "application/vnd.epson.msf",
296
+ "qam": "application/vnd.epson.quickanime",
297
+ "slt": "application/vnd.epson.salt",
298
+ "ssf": "application/vnd.epson.ssf",
299
+ "es3": "application/vnd.eszigno3+xml",
300
+ "et3": "application/vnd.eszigno3+xml",
301
+ "ez2": "application/vnd.ezpix-album",
302
+ "ez3": "application/vnd.ezpix-package",
303
+ "mseed": "application/vnd.fdsn.mseed",
304
+ "seed": "application/vnd.fdsn.seed",
305
+ "dataless": "application/vnd.fdsn.seed",
306
+ "gph": "application/vnd.flographit",
307
+ "ftc": "application/vnd.fluxtime.clip",
308
+ "fm": "application/vnd.framemaker",
309
+ "frame": "application/vnd.framemaker",
310
+ "maker": "application/vnd.framemaker",
311
+ "book": "application/vnd.framemaker",
312
+ "fnc": "application/vnd.frogans.fnc",
313
+ "ltf": "application/vnd.frogans.ltf",
314
+ "fsc": "application/vnd.fsc.weblaunch",
315
+ "oas": "application/vnd.fujitsu.oasys",
316
+ "oa2": "application/vnd.fujitsu.oasys2",
317
+ "oa3": "application/vnd.fujitsu.oasys3",
318
+ "fg5": "application/vnd.fujitsu.oasysgp",
319
+ "bh2": "application/vnd.fujitsu.oasysprs",
320
+ "ddd": "application/vnd.fujixerox.ddd",
321
+ "xdw": "application/vnd.fujixerox.docuworks",
322
+ "xbd": "application/vnd.fujixerox.docuworks.binder",
323
+ "fzs": "application/vnd.fuzzysheet",
324
+ "txd": "application/vnd.genomatix.tuxedo",
325
+ "ggb": "application/vnd.geogebra.file",
326
+ "ggt": "application/vnd.geogebra.tool",
327
+ "gex": "application/vnd.geometry-explorer",
328
+ "gre": "application/vnd.geometry-explorer",
329
+ "gxt": "application/vnd.geonext",
330
+ "g2w": "application/vnd.geoplan",
331
+ "g3w": "application/vnd.geospace",
332
+ "gmx": "application/vnd.gmx",
333
+ "gdoc": "application/vnd.google-apps.document",
334
+ "gslides": "application/vnd.google-apps.presentation",
335
+ "gsheet": "application/vnd.google-apps.spreadsheet",
336
+ "kml": "application/vnd.google-earth.kml+xml",
337
+ "kmz": "application/vnd.google-earth.kmz",
338
+ "gqf": "application/vnd.grafeq",
339
+ "gqs": "application/vnd.grafeq",
340
+ "gac": "application/vnd.groove-account",
341
+ "ghf": "application/vnd.groove-help",
342
+ "gim": "application/vnd.groove-identity-message",
343
+ "grv": "application/vnd.groove-injector",
344
+ "gtm": "application/vnd.groove-tool-message",
345
+ "tpl": "application/vnd.groove-tool-template",
346
+ "vcg": "application/vnd.groove-vcard",
347
+ "hal": "application/vnd.hal+xml",
348
+ "zmm": "application/vnd.handheld-entertainment+xml",
349
+ "hbci": "application/vnd.hbci",
350
+ "les": "application/vnd.hhe.lesson-player",
351
+ "hpgl": "application/vnd.hp-hpgl",
352
+ "hpid": "application/vnd.hp-hpid",
353
+ "hps": "application/vnd.hp-hps",
354
+ "jlt": "application/vnd.hp-jlyt",
355
+ "pcl": "application/vnd.hp-pcl",
356
+ "pclxl": "application/vnd.hp-pclxl",
357
+ "sfd-hdstx": "application/vnd.hydrostatix.sof-data",
358
+ "mpy": "application/vnd.ibm.minipay",
359
+ "afp": "application/vnd.ibm.modcap",
360
+ "listafp": "application/vnd.ibm.modcap",
361
+ "list3820": "application/vnd.ibm.modcap",
362
+ "irm": "application/vnd.ibm.rights-management",
363
+ "sc": "application/vnd.ibm.secure-container",
364
+ "icc": "application/vnd.iccprofile",
365
+ "icm": "application/vnd.iccprofile",
366
+ "igl": "application/vnd.igloader",
367
+ "ivp": "application/vnd.immervision-ivp",
368
+ "ivu": "application/vnd.immervision-ivu",
369
+ "igm": "application/vnd.insors.igm",
370
+ "xpw": "application/vnd.intercon.formnet",
371
+ "xpx": "application/vnd.intercon.formnet",
372
+ "i2g": "application/vnd.intergeo",
373
+ "qbo": "application/vnd.intu.qbo",
374
+ "qfx": "application/vnd.intu.qfx",
375
+ "rcprofile": "application/vnd.ipunplugged.rcprofile",
376
+ "irp": "application/vnd.irepository.package+xml",
377
+ "xpr": "application/vnd.is-xpr",
378
+ "fcs": "application/vnd.isac.fcs",
379
+ "jam": "application/vnd.jam",
380
+ "rms": "application/vnd.jcp.javame.midlet-rms",
381
+ "jisp": "application/vnd.jisp",
382
+ "joda": "application/vnd.joost.joda-archive",
383
+ "ktz": "application/vnd.kahootz",
384
+ "ktr": "application/vnd.kahootz",
385
+ "karbon": "application/vnd.kde.karbon",
386
+ "chrt": "application/vnd.kde.kchart",
387
+ "kfo": "application/vnd.kde.kformula",
388
+ "flw": "application/vnd.kde.kivio",
389
+ "kon": "application/vnd.kde.kontour",
390
+ "kpr": "application/vnd.kde.kpresenter",
391
+ "kpt": "application/vnd.kde.kpresenter",
392
+ "ksp": "application/vnd.kde.kspread",
393
+ "kwd": "application/vnd.kde.kword",
394
+ "kwt": "application/vnd.kde.kword",
395
+ "htke": "application/vnd.kenameaapp",
396
+ "kia": "application/vnd.kidspiration",
397
+ "kne": "application/vnd.kinar",
398
+ "knp": "application/vnd.kinar",
399
+ "skp": "application/vnd.koan",
400
+ "skd": "application/vnd.koan",
401
+ "skt": "application/vnd.koan",
402
+ "skm": "application/vnd.koan",
403
+ "sse": "application/vnd.kodak-descriptor",
404
+ "lasxml": "application/vnd.las.las+xml",
405
+ "lbd": "application/vnd.llamagraphics.life-balance.desktop",
406
+ "lbe": "application/vnd.llamagraphics.life-balance.exchange+xml",
407
+ "apr": "application/vnd.lotus-approach",
408
+ "pre": "application/vnd.lotus-freelance",
409
+ "nsf": "application/vnd.lotus-notes",
410
+ "org": "text/x-org",
411
+ "scm": "application/vnd.lotus-screencam",
412
+ "lwp": "application/vnd.lotus-wordpro",
413
+ "portpkg": "application/vnd.macports.portpkg",
414
+ "mvt": "application/vnd.mapbox-vector-tile",
415
+ "mcd": "application/vnd.mcd",
416
+ "mc1": "application/vnd.medcalcdata",
417
+ "cdkey": "application/vnd.mediastation.cdkey",
418
+ "mwf": "application/vnd.mfer",
419
+ "mfm": "application/vnd.mfmp",
420
+ "flo": "application/vnd.micrografx.flo",
421
+ "igx": "application/vnd.micrografx.igx",
422
+ "mif": "application/vnd.mif",
423
+ "daf": "application/vnd.mobius.daf",
424
+ "dis": "application/vnd.mobius.dis",
425
+ "mbk": "application/vnd.mobius.mbk",
426
+ "mqy": "application/vnd.mobius.mqy",
427
+ "msl": "application/vnd.mobius.msl",
428
+ "plc": "application/vnd.mobius.plc",
429
+ "txf": "application/vnd.mobius.txf",
430
+ "mpn": "application/vnd.mophun.application",
431
+ "mpc": "application/vnd.mophun.certificate",
432
+ "xul": "application/vnd.mozilla.xul+xml",
433
+ "cil": "application/vnd.ms-artgalry",
434
+ "cab": "application/vnd.ms-cab-compressed",
435
+ "xls": "application/vnd.ms-excel",
436
+ "xlm": "application/vnd.ms-excel",
437
+ "xla": "application/vnd.ms-excel",
438
+ "xlc": "application/vnd.ms-excel",
439
+ "xlt": "application/vnd.ms-excel",
440
+ "xlw": "application/vnd.ms-excel",
441
+ "xlam": "application/vnd.ms-excel.addin.macroenabled.12",
442
+ "xlsb": "application/vnd.ms-excel.sheet.binary.macroenabled.12",
443
+ "xlsm": "application/vnd.ms-excel.sheet.macroenabled.12",
444
+ "xltm": "application/vnd.ms-excel.template.macroenabled.12",
445
+ "eot": "application/vnd.ms-fontobject",
446
+ "chm": "application/vnd.ms-htmlhelp",
447
+ "ims": "application/vnd.ms-ims",
448
+ "lrm": "application/vnd.ms-lrm",
449
+ "thmx": "application/vnd.ms-officetheme",
450
+ "msg": "application/vnd.ms-outlook",
451
+ "cat": "application/vnd.ms-pki.seccat",
452
+ "stl": "model/stl",
453
+ "ppt": "application/vnd.ms-powerpoint",
454
+ "pps": "application/vnd.ms-powerpoint",
455
+ "pot": "application/vnd.ms-powerpoint",
456
+ "ppam": "application/vnd.ms-powerpoint.addin.macroenabled.12",
457
+ "pptm": "application/vnd.ms-powerpoint.presentation.macroenabled.12",
458
+ "sldm": "application/vnd.ms-powerpoint.slide.macroenabled.12",
459
+ "ppsm": "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
460
+ "potm": "application/vnd.ms-powerpoint.template.macroenabled.12",
461
+ "mpt": "application/vnd.ms-project",
462
+ "docm": "application/vnd.ms-word.document.macroenabled.12",
463
+ "dotm": "application/vnd.ms-word.template.macroenabled.12",
464
+ "wps": "application/vnd.ms-works",
465
+ "wks": "application/vnd.ms-works",
466
+ "wcm": "application/vnd.ms-works",
467
+ "wdb": "application/vnd.ms-works",
468
+ "wpl": "application/vnd.ms-wpl",
469
+ "xps": "application/vnd.ms-xpsdocument",
470
+ "mseq": "application/vnd.mseq",
471
+ "mus": "application/vnd.musician",
472
+ "msty": "application/vnd.muvee.style",
473
+ "taglet": "application/vnd.mynfc",
474
+ "nlu": "application/vnd.neurolanguage.nlu",
475
+ "ntf": "application/vnd.nitf",
476
+ "nitf": "application/vnd.nitf",
477
+ "nnd": "application/vnd.noblenet-directory",
478
+ "nns": "application/vnd.noblenet-sealer",
479
+ "nnw": "application/vnd.noblenet-web",
480
+ "ngdat": "application/vnd.nokia.n-gage.data",
481
+ "n-gage": "application/vnd.nokia.n-gage.symbian.install",
482
+ "rpst": "application/vnd.nokia.radio-preset",
483
+ "rpss": "application/vnd.nokia.radio-presets",
484
+ "edm": "application/vnd.novadigm.edm",
485
+ "edx": "application/vnd.novadigm.edx",
486
+ "ext": "application/vnd.novadigm.ext",
487
+ "odc": "application/vnd.oasis.opendocument.chart",
488
+ "otc": "application/vnd.oasis.opendocument.chart-template",
489
+ "odb": "application/vnd.oasis.opendocument.database",
490
+ "odf": "application/vnd.oasis.opendocument.formula",
491
+ "odft": "application/vnd.oasis.opendocument.formula-template",
492
+ "odg": "application/vnd.oasis.opendocument.graphics",
493
+ "otg": "application/vnd.oasis.opendocument.graphics-template",
494
+ "odi": "application/vnd.oasis.opendocument.image",
495
+ "oti": "application/vnd.oasis.opendocument.image-template",
496
+ "odp": "application/vnd.oasis.opendocument.presentation",
497
+ "otp": "application/vnd.oasis.opendocument.presentation-template",
498
+ "ods": "application/vnd.oasis.opendocument.spreadsheet",
499
+ "ots": "application/vnd.oasis.opendocument.spreadsheet-template",
500
+ "odt": "application/vnd.oasis.opendocument.text",
501
+ "odm": "application/vnd.oasis.opendocument.text-master",
502
+ "ott": "application/vnd.oasis.opendocument.text-template",
503
+ "oth": "application/vnd.oasis.opendocument.text-web",
504
+ "xo": "application/vnd.olpc-sugar",
505
+ "dd2": "application/vnd.oma.dd2+xml",
506
+ "obgx": "application/vnd.openblox.game+xml",
507
+ "oxt": "application/vnd.openofficeorg.extension",
508
+ "osm": "application/vnd.openstreetmap.data+xml",
509
+ "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
510
+ "sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide",
511
+ "ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
512
+ "potx": "application/vnd.openxmlformats-officedocument.presentationml.template",
513
+ "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
514
+ "xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
515
+ "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
516
+ "dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
517
+ "mgp": "application/vnd.osgeo.mapguide.package",
518
+ "dp": "application/vnd.osgi.dp",
519
+ "esa": "application/vnd.osgi.subsystem",
520
+ "pdb": "application/x-pilot",
521
+ "pqa": "application/vnd.palm",
522
+ "oprc": "application/vnd.palm",
523
+ "paw": "application/vnd.pawaafile",
524
+ "str": "application/vnd.pg.format",
525
+ "ei6": "application/vnd.pg.osasli",
526
+ "efif": "application/vnd.picsel",
527
+ "wg": "application/vnd.pmi.widget",
528
+ "plf": "application/vnd.pocketlearn",
529
+ "pbd": "application/vnd.powerbuilder6",
530
+ "box": "application/vnd.previewsystems.box",
531
+ "mgz": "application/vnd.proteus.magazine",
532
+ "qps": "application/vnd.publishare-delta-tree",
533
+ "ptid": "application/vnd.pvi.ptid1",
534
+ "qxd": "application/vnd.quark.quarkxpress",
535
+ "qxt": "application/vnd.quark.quarkxpress",
536
+ "qwd": "application/vnd.quark.quarkxpress",
537
+ "qwt": "application/vnd.quark.quarkxpress",
538
+ "qxl": "application/vnd.quark.quarkxpress",
539
+ "qxb": "application/vnd.quark.quarkxpress",
540
+ "rar": "application/x-rar-compressed",
541
+ "bed": "application/vnd.realvnc.bed",
542
+ "mxl": "application/vnd.recordare.musicxml",
543
+ "musicxml": "application/vnd.recordare.musicxml+xml",
544
+ "cryptonote": "application/vnd.rig.cryptonote",
545
+ "cod": "application/vnd.rim.cod",
546
+ "rm": "application/vnd.rn-realmedia",
547
+ "rmvb": "application/vnd.rn-realmedia-vbr",
548
+ "link66": "application/vnd.route66.link66+xml",
549
+ "st": "application/vnd.sailingtracker.track",
550
+ "see": "application/vnd.seemail",
551
+ "sema": "application/vnd.sema",
552
+ "semd": "application/vnd.semd",
553
+ "semf": "application/vnd.semf",
554
+ "ifm": "application/vnd.shana.informed.formdata",
555
+ "itp": "application/vnd.shana.informed.formtemplate",
556
+ "iif": "application/vnd.shana.informed.interchange",
557
+ "ipk": "application/vnd.shana.informed.package",
558
+ "twd": "application/vnd.simtech-mindmapper",
559
+ "twds": "application/vnd.simtech-mindmapper",
560
+ "mmf": "application/vnd.smaf",
561
+ "teacher": "application/vnd.smart.teacher",
562
+ "fo": "application/vnd.software602.filler.form+xml",
563
+ "sdkm": "application/vnd.solent.sdkm+xml",
564
+ "sdkd": "application/vnd.solent.sdkm+xml",
565
+ "dxp": "application/vnd.spotfire.dxp",
566
+ "sfs": "application/vnd.spotfire.sfs",
567
+ "sdc": "application/vnd.stardivision.calc",
568
+ "sda": "application/vnd.stardivision.draw",
569
+ "sdd": "application/vnd.stardivision.impress",
570
+ "smf": "application/vnd.stardivision.math",
571
+ "sdw": "application/vnd.stardivision.writer",
572
+ "vor": "application/vnd.stardivision.writer",
573
+ "sgl": "application/vnd.stardivision.writer-global",
574
+ "smzip": "application/vnd.stepmania.package",
575
+ "sm": "application/vnd.stepmania.stepchart",
576
+ "wadl": "application/vnd.sun.wadl+xml",
577
+ "sxc": "application/vnd.sun.xml.calc",
578
+ "stc": "application/vnd.sun.xml.calc.template",
579
+ "sxd": "application/vnd.sun.xml.draw",
580
+ "std": "application/vnd.sun.xml.draw.template",
581
+ "sxi": "application/vnd.sun.xml.impress",
582
+ "sti": "application/vnd.sun.xml.impress.template",
583
+ "sxm": "application/vnd.sun.xml.math",
584
+ "sxw": "application/vnd.sun.xml.writer",
585
+ "sxg": "application/vnd.sun.xml.writer.global",
586
+ "stw": "application/vnd.sun.xml.writer.template",
587
+ "sus": "application/vnd.sus-calendar",
588
+ "susp": "application/vnd.sus-calendar",
589
+ "svd": "application/vnd.svd",
590
+ "sis": "application/vnd.symbian.install",
591
+ "sisx": "application/vnd.symbian.install",
592
+ "xsm": "application/vnd.syncml+xml",
593
+ "bdm": "application/vnd.syncml.dm+wbxml",
594
+ "xdm": "application/vnd.syncml.dm+xml",
595
+ "ddf": "application/vnd.syncml.dmddf+xml",
596
+ "tao": "application/vnd.tao.intent-module-archive",
597
+ "pcap": "application/vnd.tcpdump.pcap",
598
+ "cap": "application/vnd.tcpdump.pcap",
599
+ "dmp": "application/vnd.tcpdump.pcap",
600
+ "tmo": "application/vnd.tmobile-livetv",
601
+ "tpt": "application/vnd.trid.tpt",
602
+ "mxs": "application/vnd.triscape.mxs",
603
+ "tra": "application/vnd.trueapp",
604
+ "ufd": "application/vnd.ufdl",
605
+ "ufdl": "application/vnd.ufdl",
606
+ "utz": "application/vnd.uiq.theme",
607
+ "umj": "application/vnd.umajin",
608
+ "unityweb": "application/vnd.unity",
609
+ "uoml": "application/vnd.uoml+xml",
610
+ "vcx": "application/vnd.vcx",
611
+ "vsd": "application/vnd.visio",
612
+ "vst": "application/vnd.visio",
613
+ "vss": "application/vnd.visio",
614
+ "vsw": "application/vnd.visio",
615
+ "vis": "application/vnd.visionary",
616
+ "vsf": "application/vnd.vsf",
617
+ "wbxml": "application/vnd.wap.wbxml",
618
+ "wmlc": "application/vnd.wap.wmlc",
619
+ "wmlsc": "application/vnd.wap.wmlscriptc",
620
+ "wtb": "application/vnd.webturbo",
621
+ "nbp": "application/vnd.wolfram.player",
622
+ "wpd": "application/vnd.wordperfect",
623
+ "wqd": "application/vnd.wqd",
624
+ "stf": "application/vnd.wt.stf",
625
+ "xar": "application/vnd.xara",
626
+ "xfdl": "application/vnd.xfdl",
627
+ "hvd": "application/vnd.yamaha.hv-dic",
628
+ "hvs": "application/vnd.yamaha.hv-script",
629
+ "hvp": "application/vnd.yamaha.hv-voice",
630
+ "osf": "application/vnd.yamaha.openscoreformat",
631
+ "osfpvg": "application/vnd.yamaha.openscoreformat.osfpvg+xml",
632
+ "saf": "application/vnd.yamaha.smaf-audio",
633
+ "spf": "application/vnd.yamaha.smaf-phrase",
634
+ "cmp": "application/vnd.yellowriver-custom-menu",
635
+ "zir": "application/vnd.zul",
636
+ "zirz": "application/vnd.zul",
637
+ "zaz": "application/vnd.zzazz.deck+xml",
638
+ "vxml": "application/voicexml+xml",
639
+ "wasm": "application/wasm",
640
+ "wif": "application/watcherinfo+xml",
641
+ "wgt": "application/widget",
642
+ "hlp": "application/winhlp",
643
+ "wsdl": "application/wsdl+xml",
644
+ "wspolicy": "application/wspolicy+xml",
645
+ "7z": "application/x-7z-compressed",
646
+ "abw": "application/x-abiword",
647
+ "ace": "application/x-ace-compressed",
648
+ "arj": "application/x-arj",
649
+ "aab": "application/x-authorware-bin",
650
+ "x32": "application/x-authorware-bin",
651
+ "u32": "application/x-authorware-bin",
652
+ "vox": "application/x-authorware-bin",
653
+ "aam": "application/x-authorware-map",
654
+ "aas": "application/x-authorware-seg",
655
+ "bcpio": "application/x-bcpio",
656
+ "torrent": "application/x-bittorrent",
657
+ "blb": "application/x-blorb",
658
+ "blorb": "application/x-blorb",
659
+ "bz": "application/x-bzip",
660
+ "bz2": "application/x-bzip2",
661
+ "boz": "application/x-bzip2",
662
+ "cbr": "application/x-cbr",
663
+ "cba": "application/x-cbr",
664
+ "cbt": "application/x-cbr",
665
+ "cbz": "application/x-cbr",
666
+ "cb7": "application/x-cbr",
667
+ "vcd": "application/x-cdlink",
668
+ "cfs": "application/x-cfs-compressed",
669
+ "chat": "application/x-chat",
670
+ "pgn": "application/x-chess-pgn",
671
+ "crx": "application/x-chrome-extension",
672
+ "cco": "application/x-cocoa",
673
+ "nsc": "application/x-conference",
674
+ "cpio": "application/x-cpio",
675
+ "csh": "application/x-csh",
676
+ "udeb": "application/x-debian-package",
677
+ "dgc": "application/x-dgc-compressed",
678
+ "dir": "application/x-director",
679
+ "dcr": "application/x-director",
680
+ "dxr": "application/x-director",
681
+ "cst": "application/x-director",
682
+ "cct": "application/x-director",
683
+ "cxt": "application/x-director",
684
+ "w3d": "application/x-director",
685
+ "fgd": "application/x-director",
686
+ "swa": "application/x-director",
687
+ "wad": "application/x-doom",
688
+ "ncx": "application/x-dtbncx+xml",
689
+ "dtb": "application/x-dtbook+xml",
690
+ "res": "application/x-dtbresource+xml",
691
+ "dvi": "application/x-dvi",
692
+ "evy": "application/x-envoy",
693
+ "eva": "application/x-eva",
694
+ "bdf": "application/x-font-bdf",
695
+ "gsf": "application/x-font-ghostscript",
696
+ "psf": "application/x-font-linux-psf",
697
+ "pcf": "application/x-font-pcf",
698
+ "snf": "application/x-font-snf",
699
+ "pfa": "application/x-font-type1",
700
+ "pfb": "application/x-font-type1",
701
+ "pfm": "application/x-font-type1",
702
+ "afm": "application/x-font-type1",
703
+ "arc": "application/x-freearc",
704
+ "spl": "application/x-futuresplash",
705
+ "gca": "application/x-gca-compressed",
706
+ "ulx": "application/x-glulx",
707
+ "gnumeric": "application/x-gnumeric",
708
+ "gramps": "application/x-gramps-xml",
709
+ "gtar": "application/x-gtar",
710
+ "hdf": "application/x-hdf",
711
+ "php": "application/x-httpd-php",
712
+ "install": "application/x-install-instructions",
713
+ "jardiff": "application/x-java-archive-diff",
714
+ "jnlp": "application/x-java-jnlp-file",
715
+ "kdbx": "application/x-keepass2",
716
+ "latex": "application/x-latex",
717
+ "luac": "application/x-lua-bytecode",
718
+ "lzh": "application/x-lzh-compressed",
719
+ "lha": "application/x-lzh-compressed",
720
+ "run": "application/x-makeself",
721
+ "mie": "application/x-mie",
722
+ "prc": "model/prc",
723
+ "mobi": "application/x-mobipocket-ebook",
724
+ "application": "application/x-ms-application",
725
+ "lnk": "application/x-ms-shortcut",
726
+ "wmd": "application/x-ms-wmd",
727
+ "wmz": "application/x-msmetafile",
728
+ "xbap": "application/x-ms-xbap",
729
+ "mdb": "application/x-msaccess",
730
+ "obd": "application/x-msbinder",
731
+ "crd": "application/x-mscardfile",
732
+ "clp": "application/x-msclip",
733
+ "com": "application/x-msdownload",
734
+ "bat": "application/x-msdownload",
735
+ "mvb": "application/x-msmediaview",
736
+ "m13": "application/x-msmediaview",
737
+ "m14": "application/x-msmediaview",
738
+ "wmf": "image/wmf",
739
+ "emf": "image/emf",
740
+ "emz": "application/x-msmetafile",
741
+ "mny": "application/x-msmoney",
742
+ "pub": "application/x-mspublisher",
743
+ "scd": "application/x-msschedule",
744
+ "trm": "application/x-msterminal",
745
+ "wri": "application/x-mswrite",
746
+ "nc": "application/x-netcdf",
747
+ "cdf": "application/x-netcdf",
748
+ "pac": "application/x-ns-proxy-autoconfig",
749
+ "nzb": "application/x-nzb",
750
+ "pl": "application/x-perl",
751
+ "pm": "application/x-perl",
752
+ "p12": "application/x-pkcs12",
753
+ "pfx": "application/x-pkcs12",
754
+ "p7b": "application/x-pkcs7-certificates",
755
+ "spc": "application/x-pkcs7-certificates",
756
+ "p7r": "application/x-pkcs7-certreqresp",
757
+ "rpm": "application/x-redhat-package-manager",
758
+ "ris": "application/x-research-info-systems",
759
+ "sea": "application/x-sea",
760
+ "sh": "application/x-sh",
761
+ "shar": "application/x-shar",
762
+ "swf": "application/x-shockwave-flash",
763
+ "xap": "application/x-silverlight-app",
764
+ "sql": "application/x-sql",
765
+ "sit": "application/x-stuffit",
766
+ "sitx": "application/x-stuffitx",
767
+ "srt": "application/x-subrip",
768
+ "sv4cpio": "application/x-sv4cpio",
769
+ "sv4crc": "application/x-sv4crc",
770
+ "t3": "application/x-t3vm-image",
771
+ "gam": "application/x-tads",
772
+ "tar": "application/x-tar",
773
+ "tcl": "application/x-tcl",
774
+ "tk": "application/x-tcl",
775
+ "tex": "application/x-tex",
776
+ "tfm": "application/x-tex-tfm",
777
+ "texinfo": "application/x-texinfo",
778
+ "texi": "application/x-texinfo",
779
+ "obj": "model/obj",
780
+ "ustar": "application/x-ustar",
781
+ "hdd": "application/x-virtualbox-hdd",
782
+ "ova": "application/x-virtualbox-ova",
783
+ "ovf": "application/x-virtualbox-ovf",
784
+ "vbox": "application/x-virtualbox-vbox",
785
+ "vbox-extpack": "application/x-virtualbox-vbox-extpack",
786
+ "vdi": "application/x-virtualbox-vdi",
787
+ "vhd": "application/x-virtualbox-vhd",
788
+ "vmdk": "application/x-virtualbox-vmdk",
789
+ "src": "application/x-wais-source",
790
+ "webapp": "application/x-web-app-manifest+json",
791
+ "der": "application/x-x509-ca-cert",
792
+ "crt": "application/x-x509-ca-cert",
793
+ "pem": "application/x-x509-ca-cert",
794
+ "fig": "application/x-xfig",
795
+ "xlf": "application/xliff+xml",
796
+ "xpi": "application/x-xpinstall",
797
+ "xz": "application/x-xz",
798
+ "z1": "application/x-zmachine",
799
+ "z2": "application/x-zmachine",
800
+ "z3": "application/x-zmachine",
801
+ "z4": "application/x-zmachine",
802
+ "z5": "application/x-zmachine",
803
+ "z6": "application/x-zmachine",
804
+ "z7": "application/x-zmachine",
805
+ "z8": "application/x-zmachine",
806
+ "xaml": "application/xaml+xml",
807
+ "xav": "application/xcap-att+xml",
808
+ "xca": "application/xcap-caps+xml",
809
+ "xdf": "application/xcap-diff+xml",
810
+ "xel": "application/xcap-el+xml",
811
+ "xns": "application/xcap-ns+xml",
812
+ "xenc": "application/xenc+xml",
813
+ "xhtml": "application/xhtml+xml",
814
+ "xht": "application/xhtml+xml",
815
+ "xml": "text/xml",
816
+ "xsl": "application/xslt+xml",
817
+ "xsd": "application/xml",
818
+ "rng": "application/xml",
819
+ "dtd": "application/xml-dtd",
820
+ "xop": "application/xop+xml",
821
+ "xpl": "application/xproc+xml",
822
+ "xslt": "application/xslt+xml",
823
+ "xspf": "application/xspf+xml",
824
+ "mxml": "application/xv+xml",
825
+ "xhvml": "application/xv+xml",
826
+ "xvml": "application/xv+xml",
827
+ "xvm": "application/xv+xml",
828
+ "yang": "application/yang",
829
+ "yin": "application/yin+xml",
830
+ "zip": "application/zip",
831
+ "3gpp": "video/3gpp",
832
+ "adp": "audio/adpcm",
833
+ "amr": "audio/amr",
834
+ "au": "audio/basic",
835
+ "snd": "audio/basic",
836
+ "mid": "audio/midi",
837
+ "midi": "audio/midi",
838
+ "kar": "audio/midi",
839
+ "rmi": "audio/midi",
840
+ "mxmf": "audio/mobile-xmf",
841
+ "mp3": "audio/mpeg",
842
+ "m4a": "audio/x-m4a",
843
+ "mp4a": "audio/mp4",
844
+ "mpga": "audio/mpeg",
845
+ "mp2": "audio/mpeg",
846
+ "mp2a": "audio/mpeg",
847
+ "m2a": "audio/mpeg",
848
+ "m3a": "audio/mpeg",
849
+ "oga": "audio/ogg",
850
+ "ogg": "audio/ogg",
851
+ "spx": "audio/ogg",
852
+ "opus": "audio/ogg",
853
+ "s3m": "audio/s3m",
854
+ "sil": "audio/silk",
855
+ "uva": "audio/vnd.dece.audio",
856
+ "uvva": "audio/vnd.dece.audio",
857
+ "eol": "audio/vnd.digital-winds",
858
+ "dra": "audio/vnd.dra",
859
+ "dts": "audio/vnd.dts",
860
+ "dtshd": "audio/vnd.dts.hd",
861
+ "lvp": "audio/vnd.lucent.voice",
862
+ "pya": "audio/vnd.ms-playready.media.pya",
863
+ "ecelp4800": "audio/vnd.nuera.ecelp4800",
864
+ "ecelp7470": "audio/vnd.nuera.ecelp7470",
865
+ "ecelp9600": "audio/vnd.nuera.ecelp9600",
866
+ "rip": "audio/vnd.rip",
867
+ "wav": "audio/x-wav",
868
+ "weba": "audio/webm",
869
+ "aac": "audio/x-aac",
870
+ "aif": "audio/x-aiff",
871
+ "aiff": "audio/x-aiff",
872
+ "aifc": "audio/x-aiff",
873
+ "caf": "audio/x-caf",
874
+ "flac": "audio/x-flac",
875
+ "mka": "audio/x-matroska",
876
+ "m3u": "audio/x-mpegurl",
877
+ "wax": "audio/x-ms-wax",
878
+ "wma": "audio/x-ms-wma",
879
+ "ram": "audio/x-pn-realaudio",
880
+ "ra": "audio/x-realaudio",
881
+ "rmp": "audio/x-pn-realaudio-plugin",
882
+ "xm": "audio/xm",
883
+ "cdx": "chemical/x-cdx",
884
+ "cif": "chemical/x-cif",
885
+ "cmdf": "chemical/x-cmdf",
886
+ "cml": "chemical/x-cml",
887
+ "csml": "chemical/x-csml",
888
+ "xyz": "chemical/x-xyz",
889
+ "ttc": "font/collection",
890
+ "otf": "font/otf",
891
+ "ttf": "font/ttf",
892
+ "woff": "font/woff",
893
+ "woff2": "font/woff2",
894
+ "exr": "image/aces",
895
+ "apng": "image/apng",
896
+ "avci": "image/avci",
897
+ "avcs": "image/avcs",
898
+ "avif": "image/avif",
899
+ "bmp": "image/x-ms-bmp",
900
+ "cgm": "image/cgm",
901
+ "drle": "image/dicom-rle",
902
+ "fits": "image/fits",
903
+ "g3": "image/g3fax",
904
+ "gif": "image/gif",
905
+ "heic": "image/heic",
906
+ "heics": "image/heic-sequence",
907
+ "heif": "image/heif",
908
+ "heifs": "image/heif-sequence",
909
+ "hej2": "image/hej2k",
910
+ "hsj2": "image/hsj2",
911
+ "ief": "image/ief",
912
+ "jls": "image/jls",
913
+ "jp2": "image/jp2",
914
+ "jpg2": "image/jp2",
915
+ "jpeg": "image/jpeg",
916
+ "jpg": "image/jpeg",
917
+ "jpe": "image/jpeg",
918
+ "jph": "image/jph",
919
+ "jhc": "image/jphc",
920
+ "jpm": "video/jpm",
921
+ "jpx": "image/jpx",
922
+ "jpf": "image/jpx",
923
+ "jxr": "image/jxr",
924
+ "jxra": "image/jxra",
925
+ "jxrs": "image/jxrs",
926
+ "jxs": "image/jxs",
927
+ "jxsc": "image/jxsc",
928
+ "jxsi": "image/jxsi",
929
+ "jxss": "image/jxss",
930
+ "ktx": "image/ktx",
931
+ "ktx2": "image/ktx2",
932
+ "png": "image/png",
933
+ "btif": "image/prs.btif",
934
+ "pti": "image/prs.pti",
935
+ "sgi": "image/sgi",
936
+ "svg": "image/svg+xml",
937
+ "svgz": "image/svg+xml",
938
+ "t38": "image/t38",
939
+ "tif": "image/tiff",
940
+ "tiff": "image/tiff",
941
+ "tfx": "image/tiff-fx",
942
+ "psd": "image/vnd.adobe.photoshop",
943
+ "azv": "image/vnd.airzip.accelerator.azv",
944
+ "uvi": "image/vnd.dece.graphic",
945
+ "uvvi": "image/vnd.dece.graphic",
946
+ "uvg": "image/vnd.dece.graphic",
947
+ "uvvg": "image/vnd.dece.graphic",
948
+ "djvu": "image/vnd.djvu",
949
+ "djv": "image/vnd.djvu",
950
+ "sub": "text/vnd.dvb.subtitle",
951
+ "dwg": "image/vnd.dwg",
952
+ "dxf": "image/vnd.dxf",
953
+ "fbs": "image/vnd.fastbidsheet",
954
+ "fpx": "image/vnd.fpx",
955
+ "fst": "image/vnd.fst",
956
+ "mmr": "image/vnd.fujixerox.edmics-mmr",
957
+ "rlc": "image/vnd.fujixerox.edmics-rlc",
958
+ "ico": "image/x-icon",
959
+ "dds": "image/vnd.ms-dds",
960
+ "mdi": "image/vnd.ms-modi",
961
+ "wdp": "image/vnd.ms-photo",
962
+ "npx": "image/vnd.net-fpx",
963
+ "b16": "image/vnd.pco.b16",
964
+ "tap": "image/vnd.tencent.tap",
965
+ "vtf": "image/vnd.valve.source.texture",
966
+ "wbmp": "image/vnd.wap.wbmp",
967
+ "xif": "image/vnd.xiff",
968
+ "pcx": "image/x-pcx",
969
+ "webp": "image/webp",
970
+ "3ds": "image/x-3ds",
971
+ "ras": "image/x-cmu-raster",
972
+ "cmx": "image/x-cmx",
973
+ "fh": "image/x-freehand",
974
+ "fhc": "image/x-freehand",
975
+ "fh4": "image/x-freehand",
976
+ "fh5": "image/x-freehand",
977
+ "fh7": "image/x-freehand",
978
+ "jng": "image/x-jng",
979
+ "sid": "image/x-mrsid-image",
980
+ "pic": "image/x-pict",
981
+ "pct": "image/x-pict",
982
+ "pnm": "image/x-portable-anymap",
983
+ "pbm": "image/x-portable-bitmap",
984
+ "pgm": "image/x-portable-graymap",
985
+ "ppm": "image/x-portable-pixmap",
986
+ "rgb": "image/x-rgb",
987
+ "tga": "image/x-tga",
988
+ "xbm": "image/x-xbitmap",
989
+ "xpm": "image/x-xpixmap",
990
+ "xwd": "image/x-xwindowdump",
991
+ "disposition-notification": "message/disposition-notification",
992
+ "u8msg": "message/global",
993
+ "u8dsn": "message/global-delivery-status",
994
+ "u8mdn": "message/global-disposition-notification",
995
+ "u8hdr": "message/global-headers",
996
+ "eml": "message/rfc822",
997
+ "mime": "message/rfc822",
998
+ "wsc": "message/vnd.wfa.wsc",
999
+ "3mf": "model/3mf",
1000
+ "gltf": "model/gltf+json",
1001
+ "glb": "model/gltf-binary",
1002
+ "igs": "model/iges",
1003
+ "iges": "model/iges",
1004
+ "msh": "model/mesh",
1005
+ "mesh": "model/mesh",
1006
+ "silo": "model/mesh",
1007
+ "mtl": "model/mtl",
1008
+ "stpx": "model/step+xml",
1009
+ "stpz": "model/step+zip",
1010
+ "stpxz": "model/step-xml+zip",
1011
+ "u3d": "model/u3d",
1012
+ "dae": "model/vnd.collada+xml",
1013
+ "dwf": "model/vnd.dwf",
1014
+ "gdl": "model/vnd.gdl",
1015
+ "gtw": "model/vnd.gtw",
1016
+ "mts": "model/vnd.mts",
1017
+ "ogex": "model/vnd.opengex",
1018
+ "x_b": "model/vnd.parasolid.transmit.binary",
1019
+ "x_t": "model/vnd.parasolid.transmit.text",
1020
+ "vds": "model/vnd.sap.vds",
1021
+ "usdz": "model/vnd.usdz+zip",
1022
+ "bsp": "model/vnd.valve.source.compiled-map",
1023
+ "vtu": "model/vnd.vtu",
1024
+ "wrl": "model/vrml",
1025
+ "vrml": "model/vrml",
1026
+ "x3db": "model/x3d+fastinfoset",
1027
+ "x3dbz": "model/x3d+binary",
1028
+ "x3dv": "model/x3d-vrml",
1029
+ "x3dvz": "model/x3d+vrml",
1030
+ "x3d": "model/x3d+xml",
1031
+ "x3dz": "model/x3d+xml",
1032
+ "appcache": "text/cache-manifest",
1033
+ "manifest": "text/cache-manifest",
1034
+ "ics": "text/calendar",
1035
+ "ifb": "text/calendar",
1036
+ "coffee": "text/coffeescript",
1037
+ "litcoffee": "text/coffeescript",
1038
+ "css": "text/css",
1039
+ "csv": "text/csv",
1040
+ "html": "text/html",
1041
+ "htm": "text/html",
1042
+ "shtml": "text/html",
1043
+ "jade": "text/jade",
1044
+ "jsx": "text/jsx",
1045
+ "less": "text/less",
1046
+ "markdown": "text/markdown",
1047
+ "md": "text/markdown",
1048
+ "mml": "text/mathml",
1049
+ "mdx": "text/mdx",
1050
+ "n3": "text/n3",
1051
+ "txt": "text/plain",
1052
+ "text": "text/plain",
1053
+ "conf": "text/plain",
1054
+ "def": "text/plain",
1055
+ "list": "text/plain",
1056
+ "log": "text/plain",
1057
+ "in": "text/plain",
1058
+ "ini": "text/plain",
1059
+ "dsc": "text/prs.lines.tag",
1060
+ "rtx": "text/richtext",
1061
+ "sgml": "text/sgml",
1062
+ "sgm": "text/sgml",
1063
+ "shex": "text/shex",
1064
+ "slim": "text/slim",
1065
+ "slm": "text/slim",
1066
+ "spdx": "text/spdx",
1067
+ "stylus": "text/stylus",
1068
+ "styl": "text/stylus",
1069
+ "tsv": "text/tab-separated-values",
1070
+ "t": "text/troff",
1071
+ "tr": "text/troff",
1072
+ "roff": "text/troff",
1073
+ "man": "text/troff",
1074
+ "me": "text/troff",
1075
+ "ms": "text/troff",
1076
+ "ttl": "text/turtle",
1077
+ "uri": "text/uri-list",
1078
+ "uris": "text/uri-list",
1079
+ "urls": "text/uri-list",
1080
+ "vcard": "text/vcard",
1081
+ "curl": "text/vnd.curl",
1082
+ "dcurl": "text/vnd.curl.dcurl",
1083
+ "mcurl": "text/vnd.curl.mcurl",
1084
+ "scurl": "text/vnd.curl.scurl",
1085
+ "ged": "text/vnd.familysearch.gedcom",
1086
+ "fly": "text/vnd.fly",
1087
+ "flx": "text/vnd.fmi.flexstor",
1088
+ "gv": "text/vnd.graphviz",
1089
+ "3dml": "text/vnd.in3d.3dml",
1090
+ "spot": "text/vnd.in3d.spot",
1091
+ "jad": "text/vnd.sun.j2me.app-descriptor",
1092
+ "wml": "text/vnd.wap.wml",
1093
+ "wmls": "text/vnd.wap.wmlscript",
1094
+ "vtt": "text/vtt",
1095
+ "s": "text/x-asm",
1096
+ "asm": "text/x-asm",
1097
+ "c": "text/x-c",
1098
+ "cc": "text/x-c",
1099
+ "cxx": "text/x-c",
1100
+ "cpp": "text/x-c",
1101
+ "h": "text/x-c",
1102
+ "hh": "text/x-c",
1103
+ "dic": "text/x-c",
1104
+ "htc": "text/x-component",
1105
+ "f": "text/x-fortran",
1106
+ "for": "text/x-fortran",
1107
+ "f77": "text/x-fortran",
1108
+ "f90": "text/x-fortran",
1109
+ "hbs": "text/x-handlebars-template",
1110
+ "java": "text/x-java-source",
1111
+ "lua": "text/x-lua",
1112
+ "mkd": "text/x-markdown",
1113
+ "nfo": "text/x-nfo",
1114
+ "opml": "text/x-opml",
1115
+ "p": "text/x-pascal",
1116
+ "pas": "text/x-pascal",
1117
+ "pde": "text/x-processing",
1118
+ "sass": "text/x-sass",
1119
+ "scss": "text/x-scss",
1120
+ "etx": "text/x-setext",
1121
+ "sfv": "text/x-sfv",
1122
+ "ymp": "text/x-suse-ymp",
1123
+ "uu": "text/x-uuencode",
1124
+ "vcs": "text/x-vcalendar",
1125
+ "vcf": "text/x-vcard",
1126
+ "yaml": "text/yaml",
1127
+ "yml": "text/yaml",
1128
+ "3gp": "video/3gpp",
1129
+ "3g2": "video/3gpp2",
1130
+ "h261": "video/h261",
1131
+ "h263": "video/h263",
1132
+ "h264": "video/h264",
1133
+ "m4s": "video/iso.segment",
1134
+ "jpgv": "video/jpeg",
1135
+ "jpgm": "video/jpm",
1136
+ "mj2": "video/mj2",
1137
+ "mjp2": "video/mj2",
1138
+ "ts": "video/mp2t",
1139
+ "mp4": "video/mp4",
1140
+ "mp4v": "video/mp4",
1141
+ "mpg4": "video/mp4",
1142
+ "mpeg": "video/mpeg",
1143
+ "mpg": "video/mpeg",
1144
+ "mpe": "video/mpeg",
1145
+ "m1v": "video/mpeg",
1146
+ "m2v": "video/mpeg",
1147
+ "ogv": "video/ogg",
1148
+ "qt": "video/quicktime",
1149
+ "mov": "video/quicktime",
1150
+ "uvh": "video/vnd.dece.hd",
1151
+ "uvvh": "video/vnd.dece.hd",
1152
+ "uvm": "video/vnd.dece.mobile",
1153
+ "uvvm": "video/vnd.dece.mobile",
1154
+ "uvp": "video/vnd.dece.pd",
1155
+ "uvvp": "video/vnd.dece.pd",
1156
+ "uvs": "video/vnd.dece.sd",
1157
+ "uvvs": "video/vnd.dece.sd",
1158
+ "uvv": "video/vnd.dece.video",
1159
+ "uvvv": "video/vnd.dece.video",
1160
+ "dvb": "video/vnd.dvb.file",
1161
+ "fvt": "video/vnd.fvt",
1162
+ "mxu": "video/vnd.mpegurl",
1163
+ "m4u": "video/vnd.mpegurl",
1164
+ "pyv": "video/vnd.ms-playready.media.pyv",
1165
+ "uvu": "video/vnd.uvvu.mp4",
1166
+ "uvvu": "video/vnd.uvvu.mp4",
1167
+ "viv": "video/vnd.vivo",
1168
+ "webm": "video/webm",
1169
+ "f4v": "video/x-f4v",
1170
+ "fli": "video/x-fli",
1171
+ "flv": "video/x-flv",
1172
+ "m4v": "video/x-m4v",
1173
+ "mkv": "video/x-matroska",
1174
+ "mk3d": "video/x-matroska",
1175
+ "mks": "video/x-matroska",
1176
+ "mng": "video/x-mng",
1177
+ "asf": "video/x-ms-asf",
1178
+ "asx": "video/x-ms-asf",
1179
+ "vob": "video/x-ms-vob",
1180
+ "wm": "video/x-ms-wm",
1181
+ "wmv": "video/x-ms-wmv",
1182
+ "wmx": "video/x-ms-wmx",
1183
+ "wvx": "video/x-ms-wvx",
1184
+ "avi": "video/x-msvideo",
1185
+ "movie": "video/x-sgi-movie",
1186
+ "smv": "video/x-smv",
1187
+ "ice": "x-conference/x-cooltalk"
1187
1188
  };
1188
1189
 
1189
- function getMimeType(path, fallback = null) {
1190
- const ext = (/\.([^.]+)$/.exec(path) || [])[1] || path;
1191
- return extensions[ext] || fallback;
1190
+ //#endregion
1191
+ //#region packages/http-static/src/mime/index.ts
1192
+ function getMimeType(path$1, fallback = null) {
1193
+ const ext = (/\.([^.]+)$/u.exec(path$1) || [])[1] || path$1;
1194
+ return extensions[ext] || fallback;
1192
1195
  }
1193
1196
 
1197
+ //#endregion
1198
+ //#region packages/http-static/src/utils/path-norm.ts
1194
1199
  function normalizePath(filePath, baseDir) {
1195
- return path.normalize(path.join(filePath.startsWith('/') || (baseDir && baseDir.startsWith('/')) ? '' : process.cwd(), baseDir || '', filePath));
1200
+ return path.normalize(path.join(filePath.startsWith("/") || baseDir && baseDir.startsWith("/") ? "" : process.cwd(), baseDir || "", filePath));
1196
1201
  }
1197
1202
 
1203
+ //#endregion
1204
+ //#region packages/http-static/src/serve-file.ts
1198
1205
  const { stat, readdir } = promises;
1199
1206
  async function serveFile(filePath, options = {}) {
1200
- if (!options.allowDotDot && (filePath.includes('/../') || filePath.startsWith('../'))) {
1201
- throw new Error('Parent Traversal ("/../") is not allowed.');
1202
- }
1203
- const { status } = useResponse();
1204
- const { setHeader, removeHeader } = useSetHeaders();
1205
- const headers = useHeaders();
1206
- const { method, url } = useRequest();
1207
- const { setCacheControl, setExpires, setPragmaNoCache } = useSetCacheControl();
1208
- const normalizedPath = normalizePath(filePath, options.baseDir);
1209
- let fileStats;
1210
- try {
1211
- fileStats = await stat(normalizedPath);
1212
- }
1213
- catch (error) {
1214
- if (options.defaultExt) {
1215
- const ext = path.extname(filePath);
1216
- if (!ext) {
1217
- return serveFile(`${filePath}.${options.defaultExt}`);
1218
- }
1219
- }
1220
- throw new HttpError(404);
1221
- }
1222
- status(200);
1223
- const etag = `"${[fileStats.ino, fileStats.size, fileStats.mtime.toISOString()].join('-')}"`;
1224
- const lastModified = new Date(fileStats.mtime);
1225
- if (isNotModified(etag, lastModified, headers['if-none-match'] || '', headers['if-modified-since'] || '')) {
1226
- status(304);
1227
- return '';
1228
- }
1229
- setHeader('etag', etag);
1230
- setHeader('last-modified', lastModified.toUTCString());
1231
- if (options.cacheControl !== undefined) {
1232
- setCacheControl(options.cacheControl);
1233
- }
1234
- if (options.expires) {
1235
- setExpires(options.expires);
1236
- }
1237
- if (options.pragmaNoCache) {
1238
- setPragmaNoCache(options.pragmaNoCache);
1239
- }
1240
- if (fileStats.isDirectory()) {
1241
- if (options.listDirectory) {
1242
- return listDirectory(normalizedPath);
1243
- }
1244
- else if (options.index) {
1245
- if (!filePath.endsWith('/') && url && !url.endsWith('/')) {
1246
- return new BaseHttpResponse().setStatus(302).setHeader('location', `${url}/`);
1247
- }
1248
- return serveFile(path.join(filePath, options.index), {
1249
- ...options,
1250
- index: '',
1251
- });
1252
- }
1253
- removeHeader('etag');
1254
- removeHeader('last-modified');
1255
- throw new HttpError(404);
1256
- }
1257
- let range = headers.range;
1258
- let start;
1259
- let end;
1260
- let size = fileStats.size;
1261
- if (range) {
1262
- const rangeParts = range
1263
- .trim()
1264
- .replace(/bytes=/, '')
1265
- .split('-');
1266
- const [s, e] = rangeParts;
1267
- start = Number.parseInt(s);
1268
- end = e ? Number.parseInt(e) : size - 1;
1269
- end = Math.min(size - 1, end);
1270
- if (start > end || Number.isNaN(start) || Number.isNaN(end)) {
1271
- throw new HttpError(416);
1272
- }
1273
- size = end - start + 1;
1274
- const ifRange = headers['if-range'] || '';
1275
- const ifRangeTag = ifRange.startsWith('"') ? ifRange : '';
1276
- const ifRangeDate = ifRangeTag ? '' : ifRange;
1277
- if (ifRange && !isNotModified(etag, lastModified, ifRangeTag, ifRangeDate)) {
1278
- status(200);
1279
- size = fileStats.size;
1280
- range = '';
1281
- }
1282
- else {
1283
- setHeader('content-range', `bytes ${start}-${end}/${fileStats.size}`);
1284
- status(206);
1285
- }
1286
- }
1287
- setHeader('accept-ranges', 'bytes');
1288
- setHeader('content-type', getMimeType(normalizedPath) || 'application/octet-stream');
1289
- setHeader('content-length', size);
1290
- if (options.headers) {
1291
- for (const header of Object.keys(options.headers)) {
1292
- setHeader(header, options.headers[header]);
1293
- }
1294
- }
1295
- return method === 'HEAD'
1296
- ? ''
1297
- : createReadStream(normalizedPath, range ? { start, end } : undefined);
1207
+ if (!options.allowDotDot && (filePath.includes("/../") || filePath.startsWith("../"))) throw new Error("Parent Traversal (\"/../\") is not allowed.");
1208
+ const { status } = useResponse();
1209
+ const { setHeader, removeHeader } = useSetHeaders();
1210
+ const headers = useHeaders();
1211
+ const { method, url } = useRequest();
1212
+ const { setCacheControl, setExpires, setPragmaNoCache } = useSetCacheControl();
1213
+ const normalizedPath = normalizePath(filePath, options.baseDir);
1214
+ let fileStats;
1215
+ try {
1216
+ fileStats = await stat(normalizedPath);
1217
+ } catch (error) {
1218
+ if (options.defaultExt) {
1219
+ const ext = path.extname(filePath);
1220
+ if (!ext) return serveFile(`${filePath}.${options.defaultExt}`);
1221
+ }
1222
+ throw new HttpError(404);
1223
+ }
1224
+ status(200);
1225
+ const etag = `"${[
1226
+ fileStats.ino,
1227
+ fileStats.size,
1228
+ fileStats.mtime.toISOString()
1229
+ ].join("-")}"`;
1230
+ const lastModified = new Date(fileStats.mtime);
1231
+ if (isNotModified(etag, lastModified, headers["if-none-match"] || "", headers["if-modified-since"] || "")) {
1232
+ status(304);
1233
+ return "";
1234
+ }
1235
+ setHeader("etag", etag);
1236
+ setHeader("last-modified", lastModified.toUTCString());
1237
+ if (options.cacheControl !== undefined) setCacheControl(options.cacheControl);
1238
+ if (options.expires) setExpires(options.expires);
1239
+ if (options.pragmaNoCache) setPragmaNoCache(options.pragmaNoCache);
1240
+ if (fileStats.isDirectory()) {
1241
+ if (options.listDirectory) return listDirectory(normalizedPath);
1242
+ else if (options.index) {
1243
+ if (!filePath.endsWith("/") && url && !url.endsWith("/")) return new BaseHttpResponse().setStatus(302).setHeader("location", `${url}/`);
1244
+ return serveFile(path.join(filePath, options.index), {
1245
+ ...options,
1246
+ index: ""
1247
+ });
1248
+ }
1249
+ removeHeader("etag");
1250
+ removeHeader("last-modified");
1251
+ throw new HttpError(404);
1252
+ }
1253
+ let range = headers.range;
1254
+ let start;
1255
+ let end;
1256
+ let size = fileStats.size;
1257
+ if (range) {
1258
+ const rangeParts = range.trim().replace(/bytes=/u, "").split("-");
1259
+ const [s, e] = rangeParts;
1260
+ start = Number.parseInt(s);
1261
+ end = e ? Number.parseInt(e) : size - 1;
1262
+ end = Math.min(size - 1, end);
1263
+ if (start > end || Number.isNaN(start) || Number.isNaN(end)) throw new HttpError(416);
1264
+ size = end - start + 1;
1265
+ const ifRange = headers["if-range"] || "";
1266
+ const ifRangeTag = ifRange.startsWith("\"") ? ifRange : "";
1267
+ const ifRangeDate = ifRangeTag ? "" : ifRange;
1268
+ if (ifRange && !isNotModified(etag, lastModified, ifRangeTag, ifRangeDate)) {
1269
+ status(200);
1270
+ size = fileStats.size;
1271
+ range = "";
1272
+ } else {
1273
+ setHeader("content-range", `bytes ${start}-${end}/${fileStats.size}`);
1274
+ status(206);
1275
+ }
1276
+ }
1277
+ setHeader("accept-ranges", "bytes");
1278
+ setHeader("content-type", getMimeType(normalizedPath) || "application/octet-stream");
1279
+ setHeader("content-length", size);
1280
+ if (options.headers) for (const header of Object.keys(options.headers)) setHeader(header, options.headers[header]);
1281
+ return method === "HEAD" ? "" : createReadStream(normalizedPath, range ? {
1282
+ start,
1283
+ end
1284
+ } : undefined);
1298
1285
  }
1299
1286
  function isNotModified(etag, lastModified, clientEtag, clientLM) {
1300
- if (clientEtag) {
1301
- const parts = clientEtag.split(',').map(v => v.trim());
1302
- for (const p of parts) {
1303
- if (etag === p) {
1304
- return true;
1305
- }
1306
- }
1307
- return false;
1308
- }
1309
- const date = new Date(clientLM);
1310
- if (date.toString() !== 'Invalid Date' && date.getTime() > lastModified.getTime()) {
1311
- return true;
1312
- }
1313
- return false;
1287
+ if (clientEtag) {
1288
+ const parts = clientEtag.split(",").map((v) => v.trim());
1289
+ for (const p of parts) if (etag === p) return true;
1290
+ return false;
1291
+ }
1292
+ const date = new Date(clientLM);
1293
+ if (date.toString() !== "Invalid Date" && date.getTime() > lastModified.getTime()) return true;
1294
+ return false;
1314
1295
  }
1315
1296
  async function listDirectory(dirPath) {
1316
- const { setContentType } = useSetHeaders();
1317
- const { url } = useRequest();
1318
- const list = await readdir(dirPath);
1319
- const promises = [];
1320
- let detailedList = [];
1321
- for (const item of list) {
1322
- promises.push({ name: item, promise: stat(path.join(dirPath, item)) });
1323
- }
1324
- for (const item of promises) {
1325
- const data = await item.promise;
1326
- detailedList.push({
1327
- name: item.name,
1328
- size: data.size,
1329
- mtime: data.mtime,
1330
- dir: data.isDirectory(),
1331
- });
1332
- }
1333
- detailedList = detailedList.sort((a, b) => a.dir === b.dir ? (a.name > b.name ? 1 : -1) : a.dir > b.dir ? -1 : 1);
1334
- detailedList.unshift({ name: '..', dir: true });
1335
- setContentType('text/html');
1336
- const styles = '<style type="text/css">\nhtml { font-family: monospace }\n' +
1337
- 'span { padding: 0px 2px }\n' +
1338
- '.text { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }\n' +
1339
- '.icon { width: 20px; display: inline-block; text-align: center; }\n' +
1340
- '.name { width: 250px; display: inline-block; }\n' +
1341
- '.size { width: 80px; display: inline-block; color: grey; text-align: right; }\n' +
1342
- '.date { width: 200px; display: inline-block; color: grey; text-align: right; }\n' +
1343
- '\n</style>';
1344
- return `<html><head><title>Dir</title> ${styles} </head><body><ul>${detailedList
1345
- .map(d => `<li> <span class="icon">${d.dir ? '&#128193;' : '&#128462;'}</span>` +
1346
- `<a href="${path.join(url || '', d.name)}"><span class="name text">${d.name}</span></a>` +
1347
- `<span class="size text">${(d.size &&
1348
- (d.size > 10000
1349
- ? `${Math.round(d.size / 1024 / 1024).toString()}Mb`
1350
- : `${Math.round(d.size / 1024).toString()}Kb`)) ||
1351
- ''}</span>` +
1352
- `<span class="date text">${(d.mtime && d.mtime.toISOString()) || ''}</li>`)
1353
- .join('\n')}</ul></body></html>`;
1297
+ const { setContentType } = useSetHeaders();
1298
+ const { url } = useRequest();
1299
+ const list = await readdir(dirPath);
1300
+ const promises$1 = [];
1301
+ let detailedList = [];
1302
+ for (const item of list) promises$1.push({
1303
+ name: item,
1304
+ promise: stat(path.join(dirPath, item))
1305
+ });
1306
+ for (const item of promises$1) {
1307
+ const data = await item.promise;
1308
+ detailedList.push({
1309
+ name: item.name,
1310
+ size: data.size,
1311
+ mtime: data.mtime,
1312
+ dir: data.isDirectory()
1313
+ });
1314
+ }
1315
+ detailedList = detailedList.sort((a, b) => a.dir === b.dir ? a.name > b.name ? 1 : -1 : a.dir > b.dir ? -1 : 1);
1316
+ detailedList.unshift({
1317
+ name: "..",
1318
+ dir: true
1319
+ });
1320
+ setContentType("text/html");
1321
+ const styles = "<style type=\"text/css\">\nhtml { font-family: monospace }\nspan { padding: 0px 2px }\n.text { text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }\n.icon { width: 20px; display: inline-block; text-align: center; }\n.name { width: 250px; display: inline-block; }\n.size { width: 80px; display: inline-block; color: grey; text-align: right; }\n.date { width: 200px; display: inline-block; color: grey; text-align: right; }\n\n</style>";
1322
+ return `<html><head><title>Dir</title> ${styles} </head><body><ul>${detailedList.map((d) => `<li> <span class="icon">${d.dir ? "&#128193;" : "&#128462;"}</span>` + `<a href="${path.join(url || "", d.name)}"><span class="name text">${d.name}</span></a>` + `<span class="size text">${d.size && (d.size > 1e4 ? `${Math.round(d.size / 1024 / 1024).toString()}Mb` : `${Math.round(d.size / 1024).toString()}Kb`) || ""}</span>` + `<span class="date text">${d.mtime && d.mtime.toISOString() || ""}</li>`).join("\n")}</ul></body></html>`;
1354
1323
  }
1355
1324
 
1356
- export { serveFile };
1325
+ //#endregion
1326
+ export { serveFile };