1const MINE_MAP: [(&str, &str); 483] = [
2 ("323", "text/h323"),
3 ("3gp", "video/3gpp"),
4 ("aab", "application/x-authoware-bin"),
5 ("aam", "application/x-authoware-map"),
6 ("aas", "application/x-authoware-seg"),
7 ("acx", "application/internet-property-stream"),
8 ("ai", "application/postscript"),
9 ("aif", "audio/x-aiff"),
10 ("aifc", "audio/x-aiff"),
11 ("aiff", "audio/x-aiff"),
12 ("als", "audio/X-Alpha5"),
13 ("amc", "application/x-mpeg"),
14 ("ani", "application/octet-stream"),
15 ("apk", "application/vndandroidpackage-archive"),
16 ("asc", "text/plain"),
17 ("asd", "application/astound"),
18 ("asf", "video/x-ms-asf"),
19 ("asn", "application/astound"),
20 ("asp", "application/x-asap"),
21 ("asr", "video/x-ms-asf"),
22 ("asx", "video/x-ms-asf"),
23 ("au", "audio/basic"),
24 ("avb", "application/octet-stream"),
25 ("avi", "video/x-msvideo"),
26 ("awb", "audio/amr-wb"),
27 ("axs", "application/olescript"),
28 ("bas", "text/plain"),
29 ("bcpio", "application/x-bcpio"),
30 ("bin ", "application/octet-stream"),
31 ("bld", "application/bld"),
32 ("bld2", "application/bld2"),
33 ("bmp", "image/bmp"),
34 ("bpk", "application/octet-stream"),
35 ("bz2", "application/x-bzip2"),
36 ("c", "text/plain"),
37 ("cal", "image/x-cals"),
38 ("cat", "application/vndms-pkiseccat"),
39 ("ccn", "application/x-cnc"),
40 ("cco", "application/x-cocoa"),
41 ("cdf", "application/x-cdf"),
42 ("cer", "application/x-x509-ca-cert"),
43 ("cgi", "magnus-internal/cgi"),
44 ("chat", "application/x-chat"),
45 ("class", "application/octet-stream"),
46 ("clp", "application/x-msclip"),
47 ("cmx", "image/x-cmx"),
48 ("co", "application/x-cult3d-object"),
49 ("cod", "image/cis-cod"),
50 ("conf", "text/plain"),
51 ("cpio", "application/x-cpio"),
52 ("cpp", "text/plain"),
53 ("cpt", "application/mac-compactpro"),
54 ("crd", "application/x-mscardfile"),
55 ("crl", "application/pkix-crl"),
56 ("crt", "application/x-x509-ca-cert"),
57 ("csh", "application/x-csh"),
58 ("csm", "chemical/x-csml"),
59 ("csml", "chemical/x-csml"),
60 ("css", "text/css"),
61 ("cur", "application/octet-stream"),
62 ("dcm", "x-lml/x-evm"),
63 ("dcr", "application/x-director"),
64 ("dcx", "image/x-dcx"),
65 ("der", "application/x-x509-ca-cert"),
66 ("dhtml", "text/html"),
67 ("dir", "application/x-director"),
68 ("dll", "application/x-msdownload"),
69 ("dmg", "application/octet-stream"),
70 ("dms", "application/octet-stream"),
71 ("doc", "application/msword"),
72 (
73 "docx",
74 "application/vndopenxmlformats-officedocumentwordprocessingmldocument",
75 ),
76 ("dot", "application/msword"),
77 ("dvi", "application/x-dvi"),
78 ("dwf", "drawing/x-dwf"),
79 ("dwg", "application/x-autocad"),
80 ("dxf", "application/x-autocad"),
81 ("dxr", "application/x-director"),
82 ("ebk", "application/x-expandedbook"),
83 ("emb", "chemical/x-embl-dl-nucleotide"),
84 ("embl", "chemical/x-embl-dl-nucleotide"),
85 ("eps", "application/postscript"),
86 ("epub", "application/epub+zip"),
87 ("eri", "image/x-eri"),
88 ("es", "audio/echospeech"),
89 ("esl", "audio/echospeech"),
90 ("etc", "application/x-earthtime"),
91 ("etx", "text/x-setext"),
92 ("evm", "x-lml/x-evm"),
93 ("evy", "application/envoy"),
94 ("exe", "application/octet-stream"),
95 ("fh4", "image/x-freehand"),
96 ("fh5", "image/x-freehand"),
97 ("fhc", "image/x-freehand"),
98 ("fif", "application/fractals"),
99 ("flr", "x-world/x-vrml"),
100 ("flv", "flv-application/octet-stream"),
101 ("fm", "application/x-maker"),
102 ("fpx", "image/x-fpx"),
103 ("fvi", "video/isivideo"),
104 ("gau", "chemical/x-gaussian-input"),
105 ("gca", "application/x-gca-compressed"),
106 ("gdb", "x-lml/x-gdb"),
107 ("gif", "image/gif"),
108 ("gps", "application/x-gps"),
109 ("gtar", "application/x-gtar"),
110 ("gz", "application/x-gzip"),
111 ("h", "text/plain"),
112 ("hdf", "application/x-hdf"),
113 ("hdm", "text/x-hdml"),
114 ("hdml", "text/x-hdml"),
115 ("hlp", "application/winhlp"),
116 ("hqx", "application/mac-binhex40"),
117 ("hta", "application/hta"),
118 ("htc", "text/x-component"),
119 ("htm", "text/html"),
120 ("html", "text/html"),
121 ("hts", "text/html"),
122 ("htt", "text/webviewhtml"),
123 ("ice", "x-conference/x-cooltalk"),
124 ("ico", "image/x-icon"),
125 ("ief", "image/ief"),
126 ("ifm", "image/gif"),
127 ("ifs", "image/ifs"),
128 ("iii", "application/x-iphone"),
129 ("imy", "audio/melody"),
130 ("ins", "application/x-internet-signup"),
131 ("ips", "application/x-ipscript"),
132 ("ipx", "application/x-ipix"),
133 ("isp", "application/x-internet-signup"),
134 ("it", "audio/x-mod"),
135 ("itz", "audio/x-mod"),
136 ("ivr", "i-world/i-vrml"),
137 ("j2k", "image/j2k"),
138 ("jad", "text/vndsunj2meapp-descriptor"),
139 ("jam", "application/x-jam"),
140 ("jar", "application/java-archive"),
141 ("java", "text/plain"),
142 ("jfif", "image/pipeg"),
143 ("jnlp", "application/x-java-jnlp-file"),
144 ("jpe", "image/jpeg"),
145 ("jpeg", "image/jpeg"),
146 ("jpg", "image/jpeg"),
147 ("jpz", "image/jpeg"),
148 ("js", "application/x-javascript"),
149 ("jwc", "application/jwc"),
150 ("kjx", "application/x-kjx"),
151 ("lak", "x-lml/x-lak"),
152 ("latex", "application/x-latex"),
153 ("lcc", "application/fastman"),
154 ("lcl", "application/x-digitalloca"),
155 ("lcr", "application/x-digitalloca"),
156 ("lgh", "application/lgh"),
157 ("lha", "application/octet-stream"),
158 ("lml", "x-lml/x-lml"),
159 ("lmlpack", "x-lml/x-lmlpack"),
160 ("log", "text/plain"),
161 ("lsf", "video/x-la-asf"),
162 ("lsx", "video/x-la-asf"),
163 ("lzh", "application/octet-stream"),
164 ("m13", "application/x-msmediaview"),
165 ("m14", "application/x-msmediaview"),
166 ("m15", "audio/x-mod"),
167 ("m3u", "audio/x-mpegurl"),
168 ("m3url", "audio/x-mpegurl"),
169 ("m4a", "audio/mp4a-latm"),
170 ("m4b", "audio/mp4a-latm"),
171 ("m4p", "audio/mp4a-latm"),
172 ("m4u", "video/vndmpegurl"),
173 ("m4v", "video/x-m4v"),
174 ("ma1", "audio/ma1"),
175 ("ma2", "audio/ma2"),
176 ("ma3", "audio/ma3"),
177 ("ma5", "audio/ma5"),
178 ("man", "application/x-troff-man"),
179 ("map", "magnus-internal/imagemap"),
180 ("mbd", "application/mbedlet"),
181 ("mct", "application/x-mascot"),
182 ("mdb", "application/x-msaccess"),
183 ("mdz", "audio/x-mod"),
184 ("me", "application/x-troff-me"),
185 ("mel", "text/x-vmel"),
186 ("mht", "message/rfc822"),
187 ("mhtml", "message/rfc822"),
188 ("mi", "application/x-mif"),
189 ("mid", "audio/mid"),
190 ("midi", "audio/midi"),
191 ("mif", "application/x-mif"),
192 ("mil", "image/x-cals"),
193 ("mio", "audio/x-mio"),
194 ("mmf", "application/x-skt-lbs"),
195 ("mng", "video/x-mng"),
196 ("mny", "application/x-msmoney"),
197 ("moc", "application/x-mocha"),
198 ("mocha", "application/x-mocha"),
199 ("mod", "audio/x-mod"),
200 ("mof", "application/x-yumekara"),
201 ("mol", "chemical/x-mdl-molfile"),
202 ("mop", "chemical/x-mopac-input"),
203 ("mov", "video/quicktime"),
204 ("movie", "video/x-sgi-movie"),
205 ("mp2", "video/mpeg"),
206 ("mp3", "audio/mpeg"),
207 ("mp4", "video/mp4"),
208 ("mpa", "video/mpeg"),
209 ("mpc", "application/vndmpohuncertificate"),
210 ("mpe", "video/mpeg"),
211 ("mpeg", "video/mpeg"),
212 ("mpg", "video/mpeg"),
213 ("mpg4", "video/mp4"),
214 ("mpga", "audio/mpeg"),
215 ("mpn", "application/vndmophunapplication"),
216 ("mpp", "application/vndms-project"),
217 ("mps", "application/x-mapserver"),
218 ("mpv2", "video/mpeg"),
219 ("mrl", "text/x-mrml"),
220 ("mrm", "application/x-mrm"),
221 ("ms", "application/x-troff-ms"),
222 ("msg", "application/vndms-outlook"),
223 ("mts", "application/metastream"),
224 ("mtx", "application/metastream"),
225 ("mtz", "application/metastream"),
226 ("mvb", "application/x-msmediaview"),
227 ("mzv", "application/metastream"),
228 ("nbmp", "image/nbmp"),
229 ("nc", "application/x-netcdf"),
230 ("ndb", "x-lml/x-ndb"),
231 ("ndwn", "application/ndwn"),
232 ("nif", "application/x-nif"),
233 ("nmz", "application/x-scream"),
234 ("nokia-op-logo", "image/vndnok-oplogo-color"),
235 ("npx", "application/x-netfpx"),
236 ("nsnd", "audio/nsnd"),
237 ("nva", "application/x-neva1"),
238 ("nws", "message/rfc822"),
239 ("oda", "application/oda"),
240 ("ogg", "audio/ogg"),
241 ("oom", "application/x-AtlasMate-Plugin"),
242 ("p10", "application/pkcs10"),
243 ("p12", "application/x-pkcs12"),
244 ("p7b", "application/x-pkcs7-certificates"),
245 ("p7c", "application/x-pkcs7-mime"),
246 ("p7m", "application/x-pkcs7-mime"),
247 ("p7r", "application/x-pkcs7-certreqresp"),
248 ("p7s", "application/x-pkcs7-signature"),
249 ("pac", "audio/x-pac"),
250 ("pae", "audio/x-epac"),
251 ("pan", "application/x-pan"),
252 ("pbm", "image/x-portable-bitmap"),
253 ("pcx", "image/x-pcx"),
254 ("pda", "image/x-pda"),
255 ("pdb", "chemical/x-pdb"),
256 ("pdf", "application/pdf"),
257 ("pfr", "application/font-tdpfr"),
258 ("pfx", "application/x-pkcs12"),
259 ("pgm", "image/x-portable-graymap"),
260 ("pict", "image/x-pict"),
261 ("pko", "application/yndms-pkipko"),
262 ("pm", "application/x-perl"),
263 ("pma", "application/x-perfmon"),
264 ("pmc", "application/x-perfmon"),
265 ("pmd", "application/x-pmd"),
266 ("pml", "application/x-perfmon"),
267 ("pmr", "application/x-perfmon"),
268 ("pmw", "application/x-perfmon"),
269 ("png", "image/png"),
270 ("pnm", "image/x-portable-anymap"),
271 ("pnz", "image/png"),
272 ("pot,", "application/vndms-powerpoint"),
273 ("ppm", "image/x-portable-pixmap"),
274 ("pps", "application/vndms-powerpoint"),
275 ("ppt", "application/vndms-powerpoint"),
276 (
277 "pptx",
278 "application/vndopenxmlformats-officedocumentpresentationmlpresentation",
279 ),
280 ("pqf", "application/x-cprplayer"),
281 ("pqi", "application/cprplayer"),
282 ("prc", "application/x-prc"),
283 ("prf", "application/pics-rules"),
284 ("prop", "text/plain"),
285 ("proxy", "application/x-ns-proxy-autoconfig"),
286 ("ps", "application/postscript"),
287 ("ptlk", "application/listenup"),
288 ("pub", "application/x-mspublisher"),
289 ("pvx", "video/x-pv-pvx"),
290 ("qcp", "audio/vndqcelp"),
291 ("qt", "video/quicktime"),
292 ("qti", "image/x-quicktime"),
293 ("qtif", "image/x-quicktime"),
294 ("r3t", "text/vndrn-realtext3d"),
295 ("ra", "audio/x-pn-realaudio"),
296 ("ram", "audio/x-pn-realaudio"),
297 ("rar", "application/octet-stream"),
298 ("ras", "image/x-cmu-raster"),
299 ("rc", "text/plain"),
300 ("rdf", "application/rdf+xml"),
301 ("rf", "image/vndrn-realflash"),
302 ("rgb", "image/x-rgb"),
303 ("rlf", "application/x-richlink"),
304 ("rm", "audio/x-pn-realaudio"),
305 ("rmf", "audio/x-rmf"),
306 ("rmi", "audio/mid"),
307 ("rmm", "audio/x-pn-realaudio"),
308 ("rmvb", "audio/x-pn-realaudio"),
309 ("rnx", "application/vndrn-realplayer"),
310 ("roff", "application/x-troff"),
311 ("rp", "image/vndrn-realpix"),
312 ("rpm", "audio/x-pn-realaudio-plugin"),
313 ("rt", "text/vndrn-realtext"),
314 ("rte", "x-lml/x-gps"),
315 ("rtf", "application/rtf"),
316 ("rtg", "application/metastream"),
317 ("rtx", "text/richtext"),
318 ("rv", "video/vndrn-realvideo"),
319 ("rwc", "application/x-rogerwilco"),
320 ("s3m", "audio/x-mod"),
321 ("s3z", "audio/x-mod"),
322 ("sca", "application/x-supercard"),
323 ("scd", "application/x-msschedule"),
324 ("sct", "text/scriptlet"),
325 ("sdf", "application/e-score"),
326 ("sea", "application/x-stuffit"),
327 ("setpay", "application/set-payment-initiation"),
328 ("setreg", "application/set-registration-initiation"),
329 ("sgm", "text/x-sgml"),
330 ("sgml", "text/x-sgml"),
331 ("sh", "application/x-sh"),
332 ("shar", "application/x-shar"),
333 ("shtml", "magnus-internal/parsed-html"),
334 ("shw", "application/presentations"),
335 ("si6", "image/si6"),
336 ("si7", "image/vndstiwapsis"),
337 ("si9", "image/vndlgtwapsis"),
338 ("sis", "application/vndsymbianinstall"),
339 ("sit", "application/x-stuffit"),
340 ("skd", "application/x-Koan"),
341 ("skm", "application/x-Koan"),
342 ("skp", "application/x-Koan"),
343 ("skt", "application/x-Koan"),
344 ("slc", "application/x-salsa"),
345 ("smd", "audio/x-smd"),
346 ("smi", "application/smil"),
347 ("smil", "application/smil"),
348 ("smp", "application/studiom"),
349 ("smz", "audio/x-smd"),
350 ("snd", "audio/basic"),
351 ("spc", "application/x-pkcs7-certificates"),
352 ("spl", "application/futuresplash"),
353 ("spr", "application/x-sprite"),
354 ("sprite", "application/x-sprite"),
355 ("sdp", "application/sdp"),
356 ("spt", "application/x-spt"),
357 ("src", "application/x-wais-source"),
358 ("sst", "application/vndms-pkicertstore"),
359 ("stk", "application/hyperstudio"),
360 ("stl", "application/vndms-pkistl"),
361 ("stm", "text/html"),
362 ("svg", "image/svg+xml"),
363 ("sv4cpio", "application/x-sv4cpio"),
364 ("sv4crc", "application/x-sv4crc"),
365 ("svf", "image/vnd"),
366 ("eot", "application/vndms-fontobject"),
367 ("woff", "application/font-woff"),
368 ("svh", "image/svh"),
369 ("svr", "x-world/x-svr"),
370 ("swf", "application/x-shockwave-flash"),
371 ("swfl", "application/x-shockwave-flash"),
372 ("t", "application/x-troff"),
373 ("tad", "application/octet-stream"),
374 ("talk", "text/x-speech"),
375 ("tar", "application/x-tar"),
376 ("taz", "application/x-tar"),
377 ("tbp", "application/x-timbuktu"),
378 ("tbt", "application/x-timbuktu"),
379 ("tcl", "application/x-tcl"),
380 ("tex", "application/x-tex"),
381 ("texi", "application/x-texinfo"),
382 ("texinfo", "application/x-texinfo"),
383 ("tgz", "application/x-compressed"),
384 ("thm", "application/vnderithm"),
385 ("tif", "image/tiff"),
386 ("tiff", "image/tiff"),
387 ("tki", "application/x-tkined"),
388 ("tkined", "application/x-tkined"),
389 ("toc", "application/toc"),
390 ("toy", "image/toy"),
391 ("tr", "application/x-troff"),
392 ("trk", "x-lml/x-gps"),
393 ("trm", "application/x-msterminal"),
394 ("tsi", "audio/tsplayer"),
395 ("tsp", "application/dsptype"),
396 ("tsv", "text/tab-separated-values"),
397 ("ttf", "application/octet-stream"),
398 ("ttz", "application/t-time"),
399 ("txt", "text/plain"),
400 ("uls", "text/iuls"),
401 ("ult", "audio/x-mod"),
402 ("ustar", "application/x-ustar"),
403 ("uu", "application/x-uuencode"),
404 ("uue", "application/x-uuencode"),
405 ("vcd", "application/x-cdlink"),
406 ("vcf", "text/x-vcard"),
407 ("vdo", "video/vdo"),
408 ("vib", "audio/vib"),
409 ("viv", "video/vivo"),
410 ("vivo", "video/vivo"),
411 ("vmd", "application/vocaltec-media-desc"),
412 ("vmf", "application/vocaltec-media-file"),
413 ("vmi", "application/x-dreamcast-vms-info"),
414 ("vms", "application/x-dreamcast-vms"),
415 ("vox", "audio/voxware"),
416 ("vqe", "audio/x-twinvq-plugin"),
417 ("vqf", "audio/x-twinvq"),
418 ("vql", "audio/x-twinvq"),
419 ("vre", "x-world/x-vream"),
420 ("vrml", "x-world/x-vrml"),
421 ("vrt", "x-world/x-vrt"),
422 ("vrw", "x-world/x-vream"),
423 ("vts", "workbook/formulaone"),
424 ("wav", "audio/x-wav"),
425 ("wax", "audio/x-ms-wax"),
426 ("wbmp", "image/vndwapwbmp"),
427 ("wcm", "application/vndms-works"),
428 ("wdb", "application/vndms-works"),
429 ("web", "application/vndxara"),
430 ("wi", "image/wavelet"),
431 ("wis", "application/x-InstallShield"),
432 ("wks", "application/vndms-works"),
433 ("wm", "video/x-ms-wm"),
434 ("wma", "audio/x-ms-wma"),
435 ("wmd", "application/x-ms-wmd"),
436 ("wmf", "application/x-msmetafile"),
437 ("wml", "text/vndwapwml"),
438 ("wmlc", "application/vndwapwmlc"),
439 ("wmls", "text/vndwapwmlscript"),
440 ("wmlsc", "application/vndwapwmlscriptc"),
441 ("wmlscript", "text/vndwapwmlscript"),
442 ("wmv", "audio/x-ms-wmv"),
443 ("wmx", "video/x-ms-wmx"),
444 ("wmz", "application/x-ms-wmz"),
445 ("wpng", "image/x-up-wpng"),
446 ("wps", "application/vndms-works"),
447 ("wpt", "x-lml/x-gps"),
448 ("wri", "application/x-mswrite"),
449 ("wrl", "x-world/x-vrml"),
450 ("wrz", "x-world/x-vrml"),
451 ("ws", "text/vndwapwmlscript"),
452 ("wsc", "application/vndwapwmlscriptc"),
453 ("wv", "video/wavelet"),
454 ("wvx", "video/x-ms-wvx"),
455 ("wxl", "application/x-wxl"),
456 ("x-gzip", "application/x-gzip"),
457 ("xaf", "x-world/x-vrml"),
458 ("xar", "application/vndxara"),
459 ("xbm", "image/x-xbitmap"),
460 ("xdm", "application/x-xdma"),
461 ("xdma", "application/x-xdma"),
462 ("xdw", "application/vndfujixeroxdocuworks"),
463 ("xht", "application/xhtml+xml"),
464 ("xhtm", "application/xhtml+xml"),
465 ("xhtml", "application/xhtml+xml"),
466 ("xla", "application/vndms-excel"),
467 ("xlc", "application/vndms-excel"),
468 ("xll", "application/x-excel"),
469 ("xlm", "application/vndms-excel"),
470 ("xls", "application/vndms-excel"),
471 (
472 "xlsx",
473 "application/vndopenxmlformats-officedocumentspreadsheetmlsheet",
474 ),
475 ("xlt", "application/vndms-excel"),
476 ("xlw", "application/vndms-excel"),
477 ("xm", "audio/x-mod"),
478 ("xml", "text/plain"),
479 ("xml", "application/xml"),
480 ("xmz", "audio/x-mod"),
481 ("xof", "x-world/x-vrml"),
482 ("xpi", "application/x-xpinstall"),
483 ("xpm", "image/x-xpixmap"),
484 ("xsit", "text/xml"),
485 ("xsl", "text/xml"),
486 ("xul", "text/xul"),
487 ("xwd", "image/x-xwindowdump"),
488 ("xyz", "chemical/x-pdb"),
489 ("yz1", "application/x-yz1"),
490 ("z", "application/x-compress"),
491 ("zac", "application/x-zaurus-zac"),
492 ("zip", "application/zip"),
493 ("json", "application/json"),
494];
495
496pub fn extension_to_content_type(s: &str) -> &'static str {
497 let v = s.to_lowercase();
498 let r = MINE_MAP.binary_search_by_key(&v.as_str(), |&(k, _)| k);
499 match r {
500 Ok(x) => MINE_MAP[x].1,
501 Err(_) => "",
502 }
503}