/
mimes.go
635 lines (628 loc) · 26.6 KB
/
mimes.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
package utils
// internal data structures, not visible to outside
type mimeExts struct {
mimeType string
extensions []string
}
var mimeExtsArr []mimeExts
var mimeSet map[string]bool
var extToMime map[string]string
// populates the relevant data structures at the end of init()
func computeExtToMime() {
mimeSet = make(map[string]bool)
extToMime = make(map[string]string)
for _, mExts := range mimeExtsArr {
mimeSet[mExts.mimeType] = true
for _, ext := range mExts.extensions {
extToMime[ext] = mExts.mimeType
}
}
}
// GetContentTypeByExtension takes an extension (String) and outputs the default content type used to represent it
func GetContentTypeByExtension(ext string) (string, bool) {
mime, found := extToMime[ext]
return mime, found
}
// IsDefaultContentType that takes a content / MIME type and outputs if it is one of the default content-types in fileName
func IsDefaultContentType(cType string) bool {
return mimeSet[cType]
}
func init() {
mimeExtsArr = []mimeExts{
{"application/activemessage", []string{}},
{"application/andrew-inset", []string{"ez"}},
{"application/applefile", []string{}},
{"application/atom+xml", []string{"atom"}},
{"application/atomicmail", []string{}},
{"application/batch-smtp", []string{}},
{"application/beep+xml", []string{}},
{"application/cals-1840", []string{}},
{"application/cnrp+xml", []string{}},
{"application/commonground", []string{}},
{"application/cpl+xml", []string{}},
{"application/cybercash", []string{}},
{"application/dca-rft", []string{}},
{"application/dec-dx", []string{}},
{"application/dvcs", []string{}},
{"application/edi-consent", []string{}},
{"application/edifact", []string{}},
{"application/edi-x12", []string{}},
{"application/eshop", []string{}},
{"application/font-tdpfr", []string{}},
{"application/http", []string{}},
{"application/hyperstudio", []string{}},
{"application/iges", []string{}},
{"application/index", []string{}},
{"application/index.cmd", []string{}},
{"application/index.obj", []string{}},
{"application/index.response", []string{}},
{"application/index.vnd", []string{}},
{"application/iotp", []string{}},
{"application/ipp", []string{}},
{"application/isup", []string{}},
{"application/mac-binhex40", []string{"hqx"}},
{"application/mac-compactpro", []string{"cpt"}},
{"application/macwriteii", []string{}},
{"application/marc", []string{}},
{"application/mathematica", []string{}},
{"application/mathml+xml", []string{"mathml"}},
{"application/msword", []string{"doc"}},
{"application/news-message-id", []string{}},
{"application/news-transmission", []string{}},
{"application/ocsp-request", []string{}},
{"application/ocsp-response", []string{}},
{"application/octet-stream", []string{"bin", "dms", "lha", "lzh", "exe", "class", "so", "dll", "dmg"}},
{"application/oda", []string{"oda"}},
{"application/ogg", []string{"ogg"}},
{"application/parityfec", []string{}},
{"application/pdf", []string{"pdf"}},
{"application/pgp-encrypted", []string{}},
{"application/pgp-keys", []string{}},
{"application/pgp-signature", []string{}},
{"application/pkcs10", []string{}},
{"application/pkcs7-mime", []string{}},
{"application/pkcs7-signature", []string{}},
{"application/pkix-cert", []string{}},
{"application/pkix-crl", []string{}},
{"application/pkixcmp", []string{}},
{"application/postscript", []string{"ai", "eps", "ps"}},
{"application/prs.alvestrand.titrax-sheet", []string{}},
{"application/prs.cww", []string{}},
{"application/prs.nprend", []string{}},
{"application/prs.plucker", []string{}},
{"application/qsig", []string{}},
{"application/rdf+xml", []string{"rdf"}},
{"application/reginfo+xml", []string{}},
{"application/remote-printing", []string{}},
{"application/riscos", []string{}},
{"application/rtf", []string{}},
{"application/sdp", []string{}},
{"application/set-payment", []string{}},
{"application/set-payment-initiation", []string{}},
{"application/set-registration", []string{}},
{"application/set-registration-initiation", []string{}},
{"application/sgml", []string{}},
{"application/sgml-open-catalog", []string{}},
{"application/sieve", []string{}},
{"application/slate", []string{}},
{"application/smil", []string{"smi", "smil"}},
{"application/srgs", []string{"gram"}},
{"application/srgs+xml", []string{"grxml"}},
{"application/timestamp-query", []string{}},
{"application/timestamp-reply", []string{}},
{"application/tve-trigger", []string{}},
{"application/vemmi", []string{}},
{"application/vnd.3gpp.pic-bw-large", []string{}},
{"application/vnd.3gpp.pic-bw-small", []string{}},
{"application/vnd.3gpp.pic-bw-var", []string{}},
{"application/vnd.3gpp.sms", []string{}},
{"application/vnd.3m.post-it-notes", []string{}},
{"application/vnd.accpac.simply.aso", []string{}},
{"application/vnd.accpac.simply.imp", []string{}},
{"application/vnd.acucobol", []string{}},
{"application/vnd.acucorp", []string{}},
{"application/vnd.adobe.xfdf", []string{}},
{"application/vnd.aether.imp", []string{}},
{"application/vnd.amiga.ami", []string{}},
{"application/vnd.anser-web-certificate-issue-initiation", []string{}},
{"application/vnd.anser-web-funds-transfer-initiation", []string{}},
{"application/vnd.audiograph", []string{}},
{"application/vnd.blueice.multipass", []string{}},
{"application/vnd.bmi", []string{}},
{"application/vnd.businessobjects", []string{}},
{"application/vnd.canon-cpdl", []string{}},
{"application/vnd.canon-lips", []string{}},
{"application/vnd.cinderella", []string{}},
{"application/vnd.claymore", []string{}},
{"application/vnd.commerce-battelle", []string{}},
{"application/vnd.commonspace", []string{}},
{"application/vnd.contact.cmsg", []string{}},
{"application/vnd.cosmocaller", []string{}},
{"application/vnd.criticaltools.wbs+xml", []string{}},
{"application/vnd.ctc-posml", []string{}},
{"application/vnd.cups-postscript", []string{}},
{"application/vnd.cups-raster", []string{}},
{"application/vnd.cups-raw", []string{}},
{"application/vnd.curl", []string{}},
{"application/vnd.cybank", []string{}},
{"application/vnd.data-vision.rdz", []string{}},
{"application/vnd.dna", []string{}},
{"application/vnd.dpgraph", []string{}},
{"application/vnd.dreamfactory", []string{}},
{"application/vnd.dxr", []string{}},
{"application/vnd.ecdis-update", []string{}},
{"application/vnd.ecowin.chart", []string{}},
{"application/vnd.ecowin.filerequest", []string{}},
{"application/vnd.ecowin.fileupdate", []string{}},
{"application/vnd.ecowin.series", []string{}},
{"application/vnd.ecowin.seriesrequest", []string{}},
{"application/vnd.ecowin.seriesupdate", []string{}},
{"application/vnd.enliven", []string{}},
{"application/vnd.epson.esf", []string{}},
{"application/vnd.epson.msf", []string{}},
{"application/vnd.epson.quickanime", []string{}},
{"application/vnd.epson.salt", []string{}},
{"application/vnd.epson.ssf", []string{}},
{"application/vnd.ericsson.quickcall", []string{}},
{"application/vnd.eudora.data", []string{}},
{"application/vnd.fdf", []string{}},
{"application/vnd.ffsns", []string{}},
{"application/vnd.fints", []string{}},
{"application/vnd.flographit", []string{}},
{"application/vnd.framemaker", []string{}},
{"application/vnd.fsc.weblaunch", []string{}},
{"application/vnd.fujitsu.oasys", []string{}},
{"application/vnd.fujitsu.oasys2", []string{}},
{"application/vnd.fujitsu.oasys3", []string{}},
{"application/vnd.fujitsu.oasysgp", []string{}},
{"application/vnd.fujitsu.oasysprs", []string{}},
{"application/vnd.fujixerox.ddd", []string{}},
{"application/vnd.fujixerox.docuworks", []string{}},
{"application/vnd.fujixerox.docuworks.binder", []string{}},
{"application/vnd.fut-misnet", []string{}},
{"application/vnd.grafeq", []string{}},
{"application/vnd.groove-account", []string{}},
{"application/vnd.groove-help", []string{}},
{"application/vnd.groove-identity-message", []string{}},
{"application/vnd.groove-injector", []string{}},
{"application/vnd.groove-tool-message", []string{}},
{"application/vnd.groove-tool-template", []string{}},
{"application/vnd.groove-vcard", []string{}},
{"application/vnd.hbci", []string{}},
{"application/vnd.hhe.lesson-player", []string{}},
{"application/vnd.hp-hpgl", []string{}},
{"application/vnd.hp-hpid", []string{}},
{"application/vnd.hp-hps", []string{}},
{"application/vnd.hp-pcl", []string{}},
{"application/vnd.hp-pclxl", []string{}},
{"application/vnd.httphone", []string{}},
{"application/vnd.hzn-3d-crossword", []string{}},
{"application/vnd.ibm.afplinedata", []string{}},
{"application/vnd.ibm.electronic-media", []string{}},
{"application/vnd.ibm.minipay", []string{}},
{"application/vnd.ibm.modcap", []string{}},
{"application/vnd.ibm.rights-management", []string{}},
{"application/vnd.ibm.secure-container", []string{}},
{"application/vnd.informix-visionary", []string{}},
{"application/vnd.intercon.formnet", []string{}},
{"application/vnd.intertrust.digibox", []string{}},
{"application/vnd.intertrust.nncp", []string{}},
{"application/vnd.intu.qbo", []string{}},
{"application/vnd.intu.qfx", []string{}},
{"application/vnd.irepository.package+xml", []string{}},
{"application/vnd.is-xpr", []string{}},
{"application/vnd.japannet-directory-service", []string{}},
{"application/vnd.japannet-jpnstore-wakeup", []string{}},
{"application/vnd.japannet-payment-wakeup", []string{}},
{"application/vnd.japannet-registration", []string{}},
{"application/vnd.japannet-registration-wakeup", []string{}},
{"application/vnd.japannet-setstore-wakeup", []string{}},
{"application/vnd.japannet-verification", []string{}},
{"application/vnd.japannet-verification-wakeup", []string{}},
{"application/vnd.jisp", []string{}},
{"application/vnd.kde.karbon", []string{}},
{"application/vnd.kde.kchart", []string{}},
{"application/vnd.kde.kformula", []string{}},
{"application/vnd.kde.kivio", []string{}},
{"application/vnd.kde.kontour", []string{}},
{"application/vnd.kde.kpresenter", []string{}},
{"application/vnd.kde.kspread", []string{}},
{"application/vnd.kde.kword", []string{}},
{"application/vnd.kenameaapp", []string{}},
{"application/vnd.koan", []string{}},
{"application/vnd.liberty-request+xml", []string{}},
{"application/vnd.llamagraphics.life-balance.desktop", []string{}},
{"application/vnd.llamagraphics.life-balance.exchange+xml", []string{}},
{"application/vnd.lotus-1-2-3", []string{}},
{"application/vnd.lotus-approach", []string{}},
{"application/vnd.lotus-freelance", []string{}},
{"application/vnd.lotus-notes", []string{}},
{"application/vnd.lotus-organizer", []string{}},
{"application/vnd.lotus-screencam", []string{}},
{"application/vnd.lotus-wordpro", []string{}},
{"application/vnd.mcd", []string{}},
{"application/vnd.mediastation.cdkey", []string{}},
{"application/vnd.meridian-slingshot", []string{}},
{"application/vnd.micrografx.flo", []string{}},
{"application/vnd.micrografx.igx", []string{}},
{"application/vnd.mif", []string{"mif"}},
{"application/vnd.minisoft-hp3000-save", []string{}},
{"application/vnd.mitsubishi.misty-guard.trustweb", []string{}},
{"application/vnd.mobius.daf", []string{}},
{"application/vnd.mobius.dis", []string{}},
{"application/vnd.mobius.mbk", []string{}},
{"application/vnd.mobius.mqy", []string{}},
{"application/vnd.mobius.msl", []string{}},
{"application/vnd.mobius.plc", []string{}},
{"application/vnd.mobius.txf", []string{}},
{"application/vnd.mophun.application", []string{}},
{"application/vnd.mophun.certificate", []string{}},
{"application/vnd.motorola.flexsuite", []string{}},
{"application/vnd.motorola.flexsuite.adsi", []string{}},
{"application/vnd.motorola.flexsuite.fis", []string{}},
{"application/vnd.motorola.flexsuite.gotap", []string{}},
{"application/vnd.motorola.flexsuite.kmr", []string{}},
{"application/vnd.motorola.flexsuite.ttc", []string{}},
{"application/vnd.motorola.flexsuite.wem", []string{}},
{"application/vnd.mozilla.xul+xml", []string{"xul"}},
{"application/vnd.ms-artgalry", []string{}},
{"application/vnd.ms-asf", []string{}},
{"application/vnd.ms-excel", []string{"xls"}},
{"application/vnd.ms-lrm", []string{}},
{"application/vnd.ms-powerpoint", []string{"ppt"}},
{"application/vnd.ms-project", []string{}},
{"application/vnd.ms-tnef", []string{}},
{"application/vnd.ms-works", []string{}},
{"application/vnd.ms-wpl", []string{}},
{"application/vnd.mseq", []string{}},
{"application/vnd.msign", []string{}},
{"application/vnd.music-niff", []string{}},
{"application/vnd.musician", []string{}},
{"application/vnd.netfpx", []string{}},
{"application/vnd.noblenet-directory", []string{}},
{"application/vnd.noblenet-sealer", []string{}},
{"application/vnd.noblenet-web", []string{}},
{"application/vnd.novadigm.edm", []string{}},
{"application/vnd.novadigm.edx", []string{}},
{"application/vnd.novadigm.ext", []string{}},
{"application/vnd.obn", []string{}},
{"application/vnd.osa.netdeploy", []string{}},
{"application/vnd.palm", []string{}},
{"application/vnd.pg.format", []string{}},
{"application/vnd.pg.osasli", []string{}},
{"application/vnd.powerbuilder6", []string{}},
{"application/vnd.powerbuilder6-s", []string{}},
{"application/vnd.powerbuilder7", []string{}},
{"application/vnd.powerbuilder7-s", []string{}},
{"application/vnd.powerbuilder75", []string{}},
{"application/vnd.powerbuilder75-s", []string{}},
{"application/vnd.previewsystems.box", []string{}},
{"application/vnd.publishare-delta-tree", []string{}},
{"application/vnd.pvi.ptid1", []string{}},
{"application/vnd.pwg-multiplexed", []string{}},
{"application/vnd.pwg-xhtml-print+xml", []string{}},
{"application/vnd.quark.quarkxpress", []string{}},
{"application/vnd.rapid", []string{}},
{"application/vnd.rn-realmedia", []string{"rm"}},
{"application/vnd.s3sms", []string{}},
{"application/vnd.sealed.net", []string{}},
{"application/vnd.seemail", []string{}},
{"application/vnd.shana.informed.formdata", []string{}},
{"application/vnd.shana.informed.formtemplate", []string{}},
{"application/vnd.shana.informed.interchange", []string{}},
{"application/vnd.shana.informed.package", []string{}},
{"application/vnd.smaf", []string{}},
{"application/vnd.sss-cod", []string{}},
{"application/vnd.sss-dtf", []string{}},
{"application/vnd.sss-ntf", []string{}},
{"application/vnd.street-stream", []string{}},
{"application/vnd.svd", []string{}},
{"application/vnd.swiftview-ics", []string{}},
{"application/vnd.triscape.mxs", []string{}},
{"application/vnd.trueapp", []string{}},
{"application/vnd.truedoc", []string{}},
{"application/vnd.ufdl", []string{}},
{"application/vnd.uplanet.alert", []string{}},
{"application/vnd.uplanet.alert-wbxml", []string{}},
{"application/vnd.uplanet.bearer-choice", []string{}},
{"application/vnd.uplanet.bearer-choice-wbxml", []string{}},
{"application/vnd.uplanet.cacheop", []string{}},
{"application/vnd.uplanet.cacheop-wbxml", []string{}},
{"application/vnd.uplanet.channel", []string{}},
{"application/vnd.uplanet.channel-wbxml", []string{}},
{"application/vnd.uplanet.list", []string{}},
{"application/vnd.uplanet.list-wbxml", []string{}},
{"application/vnd.uplanet.listcmd", []string{}},
{"application/vnd.uplanet.listcmd-wbxml", []string{}},
{"application/vnd.uplanet.signal", []string{}},
{"application/vnd.vcx", []string{}},
{"application/vnd.vectorworks", []string{}},
{"application/vnd.vidsoft.vidconference", []string{}},
{"application/vnd.visio", []string{}},
{"application/vnd.visionary", []string{}},
{"application/vnd.vividence.scriptfile", []string{}},
{"application/vnd.vsf", []string{}},
{"application/vnd.wap.sic", []string{}},
{"application/vnd.wap.slc", []string{}},
{"application/vnd.wap.wbxml", []string{"wbxml"}},
{"application/vnd.wap.wmlc", []string{"wmlc"}},
{"application/vnd.wap.wmlscriptc", []string{"wmlsc"}},
{"application/vnd.webturbo", []string{}},
{"application/vnd.wrq-hp3000-labelled", []string{}},
{"application/vnd.wt.stf", []string{}},
{"application/vnd.wv.csp+wbxml", []string{}},
{"application/vnd.xara", []string{}},
{"application/vnd.xfdl", []string{}},
{"application/vnd.yamaha.hv-dic", []string{}},
{"application/vnd.yamaha.hv-script", []string{}},
{"application/vnd.yamaha.hv-voice", []string{}},
{"application/vnd.yellowriver-custom-menu", []string{}},
{"application/voicexml+xml", []string{"vxml"}},
{"application/watcherinfo+xml", []string{}},
{"application/whoispp-query", []string{}},
{"application/whoispp-response", []string{}},
{"application/wita", []string{}},
{"application/wordperfect5.1", []string{}},
{"application/x-bcpio", []string{"bcpio"}},
{"application/x-cdlink", []string{"vcd"}},
{"application/x-chess-pgn", []string{"pgn"}},
{"application/x-compress", []string{}},
{"application/x-cpio", []string{"cpio"}},
{"application/x-csh", []string{"csh"}},
{"application/x-director", []string{"dcr", "dir", "dxr"}},
{"application/x-dvi", []string{"dvi"}},
{"application/x-futuresplash", []string{"spl"}},
{"application/x-gtar", []string{"gtar"}},
{"application/x-gzip", []string{"gz"}},
{"application/x-hdf", []string{"hdf"}},
{"application/x-javascript", []string{"js"}},
{"application/x-java-jnlp-file", []string{"jnlp"}},
{"application/x-koan", []string{"skp", "skd", "skt", "skm"}},
{"application/x-latex", []string{"latex"}},
{"application/x-netcdf", []string{"nc", "cdf"}},
{"application/x-sh", []string{"sh"}},
{"application/x-shar", []string{"shar"}},
{"application/x-shockwave-flash", []string{"swf"}},
{"application/x-stuffit", []string{"sit"}},
{"application/x-sv4cpio", []string{"sv4cpio"}},
{"application/x-sv4crc", []string{"sv4crc"}},
{"application/x-tar", []string{"tar"}},
{"application/x-tcl", []string{"tcl"}},
{"application/x-tex", []string{"tex"}},
{"application/x-texinfo", []string{"texinfo", "texi"}},
{"application/x-troff", []string{"t", "tr", "roff"}},
{"application/x-troff-man", []string{"man"}},
{"application/x-troff-me", []string{"me"}},
{"application/x-troff-ms", []string{"ms"}},
{"application/x-ustar", []string{"ustar"}},
{"application/x-wais-source", []string{"src"}},
{"application/x400-bp", []string{}},
{"application/xhtml+xml", []string{"xhtml", "xht"}},
{"application/xslt+xml", []string{"xslt"}},
{"application/xml", []string{"xml", "xsl"}},
{"application/xml-dtd", []string{"dtd"}},
{"application/xml-external-parsed-entity", []string{}},
{"application/zip", []string{"zip"}},
{"audio/32kadpcm", []string{}},
{"audio/amr", []string{}},
{"audio/amr-wb", []string{}},
{"audio/basic", []string{"au", "snd"}},
{"audio/cn", []string{}},
{"audio/dat12", []string{}},
{"audio/dsr-es201108", []string{}},
{"audio/dvi4", []string{}},
{"audio/evrc", []string{}},
{"audio/evrc0", []string{}},
{"audio/g722", []string{}},
{"audio/g.722.1", []string{}},
{"audio/g723", []string{}},
{"audio/g726-16", []string{}},
{"audio/g726-24", []string{}},
{"audio/g726-32", []string{}},
{"audio/g726-40", []string{}},
{"audio/g728", []string{}},
{"audio/g729", []string{}},
{"audio/g729D", []string{}},
{"audio/g729E", []string{}},
{"audio/gsm", []string{}},
{"audio/gsm-efr", []string{}},
{"audio/l8", []string{}},
{"audio/l16", []string{}},
{"audio/l20", []string{}},
{"audio/l24", []string{}},
{"audio/lpc", []string{}},
{"audio/midi", []string{"mid", "midi", "kar"}},
{"audio/mpa", []string{}},
{"audio/mpa-robust", []string{}},
{"audio/mp4a-latm", []string{"m4a", "m4p"}},
{"audio/mpeg", []string{"mpga", "mp2", "mp3"}},
{"audio/parityfec", []string{}},
{"audio/pcma", []string{}},
{"audio/pcmu", []string{}},
{"audio/prs.sid", []string{}},
{"audio/qcelp", []string{}},
{"audio/red", []string{}},
{"audio/smv", []string{}},
{"audio/smv0", []string{}},
{"audio/telephone-event", []string{}},
{"audio/tone", []string{}},
{"audio/vdvi", []string{}},
{"audio/vnd.3gpp.iufp", []string{}},
{"audio/vnd.cisco.nse", []string{}},
{"audio/vnd.cns.anp1", []string{}},
{"audio/vnd.cns.inf1", []string{}},
{"audio/vnd.digital-winds", []string{}},
{"audio/vnd.everad.plj", []string{}},
{"audio/vnd.lucent.voice", []string{}},
{"audio/vnd.nortel.vbk", []string{}},
{"audio/vnd.nuera.ecelp4800", []string{}},
{"audio/vnd.nuera.ecelp7470", []string{}},
{"audio/vnd.nuera.ecelp9600", []string{}},
{"audio/vnd.octel.sbc", []string{}},
{"audio/vnd.qcelp", []string{}},
{"audio/vnd.rhetorex.32kadpcm", []string{}},
{"audio/vnd.vmx.cvsd", []string{}},
{"audio/x-aiff", []string{"aif", "aiff", "aifc"}},
{"audio/x-alaw-basic", []string{}},
{"audio/x-mpegurl", []string{"m3u"}},
{"audio/x-pn-realaudio", []string{"ram", "ra"}},
{"audio/x-pn-realaudio-plugin", []string{}},
{"audio/x-wav", []string{"wav"}},
{"chemical/x-pdb", []string{"pdb"}},
{"chemical/x-xyz", []string{"xyz"}},
{"image/bmp", []string{"bmp"}},
{"image/cgm", []string{"cgm"}},
{"image/g3fax", []string{}},
{"image/gif", []string{"gif"}},
{"image/ief", []string{"ief"}},
{"image/jpeg", []string{"jpeg", "jpg", "jpe"}},
{"image/jp2", []string{"jp2"}},
{"image/naplps", []string{}},
{"image/pict", []string{"pict", "pic", "pct"}},
{"image/png", []string{"png"}},
{"image/prs.btif", []string{}},
{"image/prs.pti", []string{}},
{"image/svg+xml", []string{"svg"}},
{"image/t38", []string{}},
{"image/tiff", []string{"tiff", "tif"}},
{"image/tiff-fx", []string{}},
{"image/vnd.cns.inf2", []string{}},
{"image/vnd.djvu", []string{"djvu", "djv"}},
{"image/vnd.dwg", []string{}},
{"image/vnd.dxf", []string{}},
{"image/vnd.fastbidsheet", []string{}},
{"image/vnd.fpx", []string{}},
{"image/vnd.fst", []string{}},
{"image/vnd.fujixerox.edmics-mmr", []string{}},
{"image/vnd.fujixerox.edmics-rlc", []string{}},
{"image/vnd.globalgraphics.pgb", []string{}},
{"image/vnd.mix", []string{}},
{"image/vnd.ms-modi", []string{}},
{"image/vnd.net-fpx", []string{}},
{"image/vnd.svf", []string{}},
{"image/vnd.wap.wbmp", []string{"wbmp"}},
{"image/vnd.xiff", []string{}},
{"image/x-cmu-raster", []string{"ras"}},
{"image/x-macpaint", []string{"pntg", "pnt", "mac"}},
{"image/x-icon", []string{"ico"}},
{"image/x-portable-anymap", []string{"pnm"}},
{"image/x-portable-bitmap", []string{"pbm"}},
{"image/x-portable-graymap", []string{"pgm"}},
{"image/x-portable-pixmap", []string{"ppm"}},
{"image/x-quicktime", []string{"qtif", "qti"}},
{"image/x-rgb", []string{"rgb"}},
{"image/x-xbitmap", []string{"xbm"}},
{"image/x-xpixmap", []string{"xpm"}},
{"image/x-xwindowdump", []string{"xwd"}},
{"message/delivery-status", []string{}},
{"message/disposition-notification", []string{}},
{"message/external-body", []string{}},
{"message/http", []string{}},
{"message/news", []string{}},
{"message/partial", []string{}},
{"message/rfc822", []string{}},
{"message/s-http", []string{}},
{"message/sip", []string{}},
{"message/sipfrag", []string{}},
{"model/iges", []string{"igs", "iges"}},
{"model/mesh", []string{"msh", "mesh", "silo"}},
{"model/vnd.dwf", []string{}},
{"model/vnd.flatland.3dml", []string{}},
{"model/vnd.gdl", []string{}},
{"model/vnd.gs-gdl", []string{}},
{"model/vnd.gtw", []string{}},
{"model/vnd.mts", []string{}},
{"model/vnd.parasolid.transmit.binary", []string{}},
{"model/vnd.parasolid.transmit.text", []string{}},
{"model/vnd.vtu", []string{}},
{"model/vrml", []string{"wrl", "vrml"}},
{"multipart/alternative", []string{}},
{"multipart/appledouble", []string{}},
{"multipart/byteranges", []string{}},
{"multipart/digest", []string{}},
{"multipart/encrypted", []string{}},
{"multipart/form-data", []string{}},
{"multipart/header-set", []string{}},
{"multipart/mixed", []string{}},
{"multipart/parallel", []string{}},
{"multipart/related", []string{}},
{"multipart/report", []string{}},
{"multipart/signed", []string{}},
{"multipart/voice-message", []string{}},
{"text/calendar", []string{"ics", "ifb"}},
{"text/css", []string{"css"}},
{"text/directory", []string{}},
{"text/enriched", []string{}},
{"text/html", []string{"html", "htm"}},
{"text/parityfec", []string{}},
{"text/plain", []string{"asc", "txt"}},
{"text/prs.lines.tag", []string{}},
{"text/rfc822-headers", []string{}},
{"text/richtext", []string{"rtx"}},
{"text/rtf", []string{"rtf"}},
{"text/sgml", []string{"sgml", "sgm"}},
{"text/t140", []string{}},
{"text/tab-separated-values", []string{"tsv"}},
{"text/uri-list", []string{}},
{"text/vnd.abc", []string{}},
{"text/vnd.curl", []string{}},
{"text/vnd.dmclientscript", []string{}},
{"text/vnd.fly", []string{}},
{"text/vnd.fmi.flexstor", []string{}},
{"text/vnd.in3d.3dml", []string{}},
{"text/vnd.in3d.spot", []string{}},
{"text/vnd.iptc.nitf", []string{}},
{"text/vnd.iptc.newsml", []string{}},
{"text/vnd.latex-z", []string{}},
{"text/vnd.motorola.reflex", []string{}},
{"text/vnd.ms-mediapackage", []string{}},
{"text/vnd.net2phone.commcenter.command", []string{}},
{"text/vnd.sun.j2me.app-descriptor", []string{}},
{"text/vnd.wap.si", []string{}},
{"text/vnd.wap.sl", []string{}},
{"text/vnd.wap.wml", []string{"wml"}},
{"text/vnd.wap.wmlscript", []string{"wmls"}},
{"text/x-setext", []string{"etx"}},
{"text/xml", []string{}},
{"text/xml-external-parsed-entity", []string{}},
{"video/3gpp", []string{"3gp"}},
{"video/bmpeg", []string{}},
{"video/bt656", []string{}},
{"video/celb", []string{}},
{"video/dv", []string{}},
{"video/h261", []string{}},
{"video/h263", []string{}},
{"video/h263-1998", []string{}},
{"video/h263-2000", []string{}},
{"video/jpeg", []string{}},
{"video/mp1s", []string{}},
{"video/mp2p", []string{}},
{"video/mp2t", []string{}},
{"video/mp4", []string{"mp4"}},
{"video/mp4v-es", []string{}},
{"video/mpv", []string{}},
{"video/mpeg", []string{"mpeg", "mpg", "mpe"}},
{"video/nv", []string{}},
{"video/ogg", []string{"ogv"}},
{"video/parityfec", []string{}},
{"video/pointer", []string{}},
{"video/quicktime", []string{"qt", "mov"}},
{"video/smpte292m", []string{}},
{"video/vnd.fvt", []string{}},
{"video/vnd.motorola.video", []string{}},
{"video/vnd.motorola.videop", []string{}},
{"video/vnd.mpegurl", []string{"mxu", "m4u"}},
{"video/vnd.nokia.interleaved-multimedia", []string{}},
{"video/vnd.objectvideo", []string{}},
{"video/vnd.vivo", []string{}},
{"video/webm", []string{"webm"}},
{"video/x-dv", []string{"dv", "dif"}},
{"video/x-flv", []string{"flv"}},
{"video/x-m4v", []string{"m4v"}},
{"video/x-ms-wmv", []string{"wmv"}},
{"video/x-msvideo", []string{"avi"}},
{"video/x-sgi-movie", []string{"movie"}},
{"x-conference/x-cooltalk", []string{"ice"}},
}
computeExtToMime()
}