]> granicus.if.org Git - php/commitdiff
Add a mime type map generation script and update the header.
authorAdam Harvey <aharvey@php.net>
Wed, 11 Jun 2014 00:19:49 +0000 (00:19 +0000)
committerAdam Harvey <aharvey@php.net>
Wed, 11 Jun 2014 00:19:49 +0000 (00:19 +0000)
sapi/cli/generate_mime_type_map.php [new file with mode: 0644]
sapi/cli/mime_type_map.h

diff --git a/sapi/cli/generate_mime_type_map.php b/sapi/cli/generate_mime_type_map.php
new file mode 100644 (file)
index 0000000..4475004
--- /dev/null
@@ -0,0 +1,76 @@
+#!/usr/bin/env php
+<?php
+
+// Check if we are being given a mime.types file or if we should use the
+// default URL.
+$source = count($_SERVER['argv']) > 1 ? $_SERVER['argv'][1] : 'https://raw.githubusercontent.com/apache/httpd/trunk/docs/conf/mime.types';
+
+// See if we can actually load it.
+$types = @file($source);
+if ($types === false) {
+       fprintf(STDERR, "Error: unable to read $source\n");
+       exit(1);
+}
+
+// Remove comments and flip into an extensions array.
+$extensions = [];
+array_walk($types, function ($line) use (&$extensions) {
+       $line = trim($line);
+       if ($line && $line[0] != '#') {
+               $fields = preg_split('/\s+/', $line);
+               if (count($fields) > 1) {
+                       $mime = array_shift($fields);
+                       foreach ($fields as $extension) {
+                               $extensions[$extension] = $mime;
+                       }
+               }
+       }
+});
+
+?>
+/*
+   +----------------------------------------------------------------------+
+   | PHP Version 5                                                        |
+   +----------------------------------------------------------------------+
+   | Copyright (c) 1997-2014 The PHP Group                                |
+   +----------------------------------------------------------------------+
+   | This source file is subject to version 3.01 of the PHP license,      |
+   | that is bundled with this package in the file LICENSE, and is        |
+   | available through the world-wide-web at the following url:           |
+   | http://www.php.net/license/3_01.txt                                  |
+   | If you did not receive a copy of the PHP license and are unable to   |
+   | obtain it through the world-wide-web, please send a note to          |
+   | license@php.net so we can mail you a copy immediately.               |
+   +----------------------------------------------------------------------+
+   | Author: Moriyoshi Koizumi <moriyoshi@php.net>                        |
+   +----------------------------------------------------------------------+
+*/
+
+/* This is a generated file. Rather than modifying it, please run
+ * "php generate_mime_type_map.php > mime_type_map.h" to regenerate the file. */
+
+#ifndef PHP_CLI_SERVER_MIME_TYPE_MAP_H
+#define PHP_CLI_SERVER_MIME_TYPE_MAP_H
+
+typedef struct php_cli_server_ext_mime_type_pair {
+       const char *ext;
+       const char *mime_type;
+} php_cli_server_ext_mime_type_pair;
+
+static php_cli_server_ext_mime_type_pair mime_type_map[] = {
+<?php foreach ($extensions as $extension => $mime): ?>
+       { "<?= addcslashes($extension, "\0..\37!@\@\177..\377") ?>", "<?= addcslashes($mime, "\0..\37!@\@\177..\377") ?>" },
+<?php endforeach ?>
+       { NULL, NULL }
+};
+
+#endif /* PHP_CLI_SERVER_MIME_TYPE_MAP_H */
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ * vim600: noet sw=4 ts=4 fdm=marker
+ * vim<600: noet sw=4 ts=4
+ */
index 0a0d01a5642f927e62e098e6c821b067274cfb83..72c05d4149c5d08282d9ce1214c8f43f9fd8901b 100644 (file)
@@ -28,60 +28,987 @@ typedef struct php_cli_server_ext_mime_type_pair {
 } php_cli_server_ext_mime_type_pair;
 
 static php_cli_server_ext_mime_type_pair mime_type_map[] = {
-       { "html", "text/html" },
-       { "htm", "text/html" },
-       { "js", "text/javascript" },
-       { "css", "text/css" },
-       { "gif", "image/gif" },
-       { "jpg", "image/jpeg" },
-       { "jpeg", "image/jpeg" },
-       { "jpe", "image/jpeg" },
+       { "ez", "application/andrew-inset" },
+       { "aw", "application/applixware" },
+       { "atom", "application/atom+xml" },
+       { "atomcat", "application/atomcat+xml" },
+       { "atomsvc", "application/atomsvc+xml" },
+       { "ccxml", "application/ccxml+xml" },
+       { "cdmia", "application/cdmi-capability" },
+       { "cdmic", "application/cdmi-container" },
+       { "cdmid", "application/cdmi-domain" },
+       { "cdmio", "application/cdmi-object" },
+       { "cdmiq", "application/cdmi-queue" },
+       { "cu", "application/cu-seeme" },
+       { "davmount", "application/davmount+xml" },
+       { "dbk", "application/docbook+xml" },
+       { "dssc", "application/dssc+der" },
+       { "xdssc", "application/dssc+xml" },
+       { "ecma", "application/ecmascript" },
+       { "emma", "application/emma+xml" },
+       { "epub", "application/epub+zip" },
+       { "exi", "application/exi" },
+       { "pfr", "application/font-tdpfr" },
+       { "gml", "application/gml+xml" },
+       { "gpx", "application/gpx+xml" },
+       { "gxf", "application/gxf" },
+       { "stk", "application/hyperstudio" },
+       { "ink", "application/inkml+xml" },
+       { "inkml", "application/inkml+xml" },
+       { "ipfix", "application/ipfix" },
+       { "jar", "application/java-archive" },
+       { "ser", "application/java-serialized-object" },
+       { "class", "application/java-vm" },
+       { "js", "application/javascript" },
+       { "json", "application/json" },
+       { "jsonml", "application/jsonml+json" },
+       { "lostxml", "application/lost+xml" },
+       { "hqx", "application/mac-binhex40" },
+       { "cpt", "application/mac-compactpro" },
+       { "mads", "application/mads+xml" },
+       { "mrc", "application/marc" },
+       { "mrcx", "application/marcxml+xml" },
+       { "ma", "application/mathematica" },
+       { "nb", "application/mathematica" },
+       { "mb", "application/mathematica" },
+       { "mathml", "application/mathml+xml" },
+       { "mbox", "application/mbox" },
+       { "mscml", "application/mediaservercontrol+xml" },
+       { "metalink", "application/metalink+xml" },
+       { "meta4", "application/metalink4+xml" },
+       { "mets", "application/mets+xml" },
+       { "mods", "application/mods+xml" },
+       { "m21", "application/mp21" },
+       { "mp21", "application/mp21" },
+       { "mp4s", "application/mp4" },
+       { "doc", "application/msword" },
+       { "dot", "application/msword" },
+       { "mxf", "application/mxf" },
+       { "bin", "application/octet-stream" },
+       { "dms", "application/octet-stream" },
+       { "lrf", "application/octet-stream" },
+       { "mar", "application/octet-stream" },
+       { "so", "application/octet-stream" },
+       { "dist", "application/octet-stream" },
+       { "distz", "application/octet-stream" },
+       { "pkg", "application/octet-stream" },
+       { "bpk", "application/octet-stream" },
+       { "dump", "application/octet-stream" },
+       { "elc", "application/octet-stream" },
+       { "deploy", "application/octet-stream" },
+       { "oda", "application/oda" },
+       { "opf", "application/oebps-package+xml" },
+       { "ogx", "application/ogg" },
+       { "omdoc", "application/omdoc+xml" },
+       { "onetoc", "application/onenote" },
+       { "onetoc2", "application/onenote" },
+       { "onetmp", "application/onenote" },
+       { "onepkg", "application/onenote" },
+       { "oxps", "application/oxps" },
+       { "xer", "application/patch-ops-error+xml" },
        { "pdf", "application/pdf" },
-       { "png", "image/png" },
-       { "svg", "image/svg+xml" },
-       { "txt", "text/plain" },
-       { "webm", "video/webm" },
-       { "ogv", "video/ogg" },
-       { "ogg", "audio/ogg" },
-       { "3gp", "video/3gpp" },    /* This is standard video format used for MMS in phones */
+       { "pgp", "application/pgp-encrypted" },
+       { "asc", "application/pgp-signature" },
+       { "sig", "application/pgp-signature" },
+       { "prf", "application/pics-rules" },
+       { "p10", "application/pkcs10" },
+       { "p7m", "application/pkcs7-mime" },
+       { "p7c", "application/pkcs7-mime" },
+       { "p7s", "application/pkcs7-signature" },
+       { "p8", "application/pkcs8" },
+       { "ac", "application/pkix-attr-cert" },
+       { "cer", "application/pkix-cert" },
+       { "crl", "application/pkix-crl" },
+       { "pkipath", "application/pkix-pkipath" },
+       { "pki", "application/pkixcmp" },
+       { "pls", "application/pls+xml" },
+       { "ai", "application/postscript" },
+       { "eps", "application/postscript" },
+       { "ps", "application/postscript" },
+       { "cww", "application/prs.cww" },
+       { "pskcxml", "application/pskc+xml" },
+       { "rdf", "application/rdf+xml" },
+       { "rif", "application/reginfo+xml" },
+       { "rnc", "application/relax-ng-compact-syntax" },
+       { "rl", "application/resource-lists+xml" },
+       { "rld", "application/resource-lists-diff+xml" },
+       { "rs", "application/rls-services+xml" },
+       { "gbr", "application/rpki-ghostbusters" },
+       { "mft", "application/rpki-manifest" },
+       { "roa", "application/rpki-roa" },
+       { "rsd", "application/rsd+xml" },
+       { "rss", "application/rss+xml" },
+       { "rtf", "application/rtf" },
+       { "sbml", "application/sbml+xml" },
+       { "scq", "application/scvp-cv-request" },
+       { "scs", "application/scvp-cv-response" },
+       { "spq", "application/scvp-vp-request" },
+       { "spp", "application/scvp-vp-response" },
+       { "sdp", "application/sdp" },
+       { "setpay", "application/set-payment-initiation" },
+       { "setreg", "application/set-registration-initiation" },
+       { "shf", "application/shf+xml" },
+       { "smi", "application/smil+xml" },
+       { "smil", "application/smil+xml" },
+       { "rq", "application/sparql-query" },
+       { "srx", "application/sparql-results+xml" },
+       { "gram", "application/srgs" },
+       { "grxml", "application/srgs+xml" },
+       { "sru", "application/sru+xml" },
+       { "ssdl", "application/ssdl+xml" },
+       { "ssml", "application/ssml+xml" },
+       { "tei", "application/tei+xml" },
+       { "teicorpus", "application/tei+xml" },
+       { "tfi", "application/thraud+xml" },
+       { "tsd", "application/timestamped-data" },
+       { "plb", "application/vnd.3gpp.pic-bw-large" },
+       { "psb", "application/vnd.3gpp.pic-bw-small" },
+       { "pvb", "application/vnd.3gpp.pic-bw-var" },
+       { "tcap", "application/vnd.3gpp2.tcap" },
+       { "pwn", "application/vnd.3m.post-it-notes" },
+       { "aso", "application/vnd.accpac.simply.aso" },
+       { "imp", "application/vnd.accpac.simply.imp" },
+       { "acu", "application/vnd.acucobol" },
+       { "atc", "application/vnd.acucorp" },
+       { "acutc", "application/vnd.acucorp" },
+       { "air", "application/vnd.adobe.air-application-installer-package+zip" },
+       { "fcdt", "application/vnd.adobe.formscentral.fcdt" },
+       { "fxp", "application/vnd.adobe.fxp" },
+       { "fxpl", "application/vnd.adobe.fxp" },
+       { "xdp", "application/vnd.adobe.xdp+xml" },
+       { "xfdf", "application/vnd.adobe.xfdf" },
+       { "ahead", "application/vnd.ahead.space" },
+       { "azf", "application/vnd.airzip.filesecure.azf" },
+       { "azs", "application/vnd.airzip.filesecure.azs" },
+       { "azw", "application/vnd.amazon.ebook" },
+       { "acc", "application/vnd.americandynamics.acc" },
+       { "ami", "application/vnd.amiga.ami" },
        { "apk", "application/vnd.android.package-archive" },
-       { "avi", "video/x-msvideo" },
-       { "bmp", "image/x-ms-bmp" },
-       { "csv", "text/comma-separated-values" },
-       { "doc", "application/msword" },
-       { "docx", "application/msword" },
-       { "flac", "audio/flac" },
-       { "gz",  "application/x-gzip" },
-       { "gzip", "application/x-gzip" },
-       { "ics", "text/calendar" },
+       { "cii", "application/vnd.anser-web-certificate-issue-initiation" },
+       { "fti", "application/vnd.anser-web-funds-transfer-initiation" },
+       { "atx", "application/vnd.antix.game-component" },
+       { "mpkg", "application/vnd.apple.installer+xml" },
+       { "m3u8", "application/vnd.apple.mpegurl" },
+       { "swi", "application/vnd.aristanetworks.swi" },
+       { "iota", "application/vnd.astraea-software.iota" },
+       { "aep", "application/vnd.audiograph" },
+       { "mpm", "application/vnd.blueice.multipass" },
+       { "bmi", "application/vnd.bmi" },
+       { "rep", "application/vnd.businessobjects" },
+       { "cdxml", "application/vnd.chemdraw+xml" },
+       { "mmd", "application/vnd.chipnuts.karaoke-mmd" },
+       { "cdy", "application/vnd.cinderella" },
+       { "cla", "application/vnd.claymore" },
+       { "rp9", "application/vnd.cloanto.rp9" },
+       { "c4g", "application/vnd.clonk.c4group" },
+       { "c4d", "application/vnd.clonk.c4group" },
+       { "c4f", "application/vnd.clonk.c4group" },
+       { "c4p", "application/vnd.clonk.c4group" },
+       { "c4u", "application/vnd.clonk.c4group" },
+       { "c11amc", "application/vnd.cluetrust.cartomobile-config" },
+       { "c11amz", "application/vnd.cluetrust.cartomobile-config-pkg" },
+       { "csp", "application/vnd.commonspace" },
+       { "cdbcmsg", "application/vnd.contact.cmsg" },
+       { "cmc", "application/vnd.cosmocaller" },
+       { "clkx", "application/vnd.crick.clicker" },
+       { "clkk", "application/vnd.crick.clicker.keyboard" },
+       { "clkp", "application/vnd.crick.clicker.palette" },
+       { "clkt", "application/vnd.crick.clicker.template" },
+       { "clkw", "application/vnd.crick.clicker.wordbank" },
+       { "wbs", "application/vnd.criticaltools.wbs+xml" },
+       { "pml", "application/vnd.ctc-posml" },
+       { "ppd", "application/vnd.cups-ppd" },
+       { "car", "application/vnd.curl.car" },
+       { "pcurl", "application/vnd.curl.pcurl" },
+       { "dart", "application/vnd.dart" },
+       { "rdz", "application/vnd.data-vision.rdz" },
+       { "uvf", "application/vnd.dece.data" },
+       { "uvvf", "application/vnd.dece.data" },
+       { "uvd", "application/vnd.dece.data" },
+       { "uvvd", "application/vnd.dece.data" },
+       { "uvt", "application/vnd.dece.ttml+xml" },
+       { "uvvt", "application/vnd.dece.ttml+xml" },
+       { "uvx", "application/vnd.dece.unspecified" },
+       { "uvvx", "application/vnd.dece.unspecified" },
+       { "uvz", "application/vnd.dece.zip" },
+       { "uvvz", "application/vnd.dece.zip" },
+       { "fe_launch", "application/vnd.denovo.fcselayout-link" },
+       { "dna", "application/vnd.dna" },
+       { "mlp", "application/vnd.dolby.mlp" },
+       { "dpg", "application/vnd.dpgraph" },
+       { "dfac", "application/vnd.dreamfactory" },
+       { "kpxx", "application/vnd.ds-keypoint" },
+       { "ait", "application/vnd.dvb.ait" },
+       { "svc", "application/vnd.dvb.service" },
+       { "geo", "application/vnd.dynageo" },
+       { "mag", "application/vnd.ecowin.chart" },
+       { "nml", "application/vnd.enliven" },
+       { "esf", "application/vnd.epson.esf" },
+       { "msf", "application/vnd.epson.msf" },
+       { "qam", "application/vnd.epson.quickanime" },
+       { "slt", "application/vnd.epson.salt" },
+       { "ssf", "application/vnd.epson.ssf" },
+       { "es3", "application/vnd.eszigno3+xml" },
+       { "et3", "application/vnd.eszigno3+xml" },
+       { "ez2", "application/vnd.ezpix-album" },
+       { "ez3", "application/vnd.ezpix-package" },
+       { "fdf", "application/vnd.fdf" },
+       { "mseed", "application/vnd.fdsn.mseed" },
+       { "seed", "application/vnd.fdsn.seed" },
+       { "dataless", "application/vnd.fdsn.seed" },
+       { "gph", "application/vnd.flographit" },
+       { "ftc", "application/vnd.fluxtime.clip" },
+       { "fm", "application/vnd.framemaker" },
+       { "frame", "application/vnd.framemaker" },
+       { "maker", "application/vnd.framemaker" },
+       { "book", "application/vnd.framemaker" },
+       { "fnc", "application/vnd.frogans.fnc" },
+       { "ltf", "application/vnd.frogans.ltf" },
+       { "fsc", "application/vnd.fsc.weblaunch" },
+       { "oas", "application/vnd.fujitsu.oasys" },
+       { "oa2", "application/vnd.fujitsu.oasys2" },
+       { "oa3", "application/vnd.fujitsu.oasys3" },
+       { "fg5", "application/vnd.fujitsu.oasysgp" },
+       { "bh2", "application/vnd.fujitsu.oasysprs" },
+       { "ddd", "application/vnd.fujixerox.ddd" },
+       { "xdw", "application/vnd.fujixerox.docuworks" },
+       { "xbd", "application/vnd.fujixerox.docuworks.binder" },
+       { "fzs", "application/vnd.fuzzysheet" },
+       { "txd", "application/vnd.genomatix.tuxedo" },
+       { "ggb", "application/vnd.geogebra.file" },
+       { "ggt", "application/vnd.geogebra.tool" },
+       { "gex", "application/vnd.geometry-explorer" },
+       { "gre", "application/vnd.geometry-explorer" },
+       { "gxt", "application/vnd.geonext" },
+       { "g2w", "application/vnd.geoplan" },
+       { "g3w", "application/vnd.geospace" },
+       { "gmx", "application/vnd.gmx" },
        { "kml", "application/vnd.google-earth.kml+xml" },
        { "kmz", "application/vnd.google-earth.kmz" },
-       { "m4a", "audio/mp4" },
-       { "mp3", "audio/mpeg" },
-       { "mp4", "video/mp4" },
-       { "mpg", "video/mpeg" },
-       { "mpeg", "video/mpeg" },
-       { "mov", "video/quicktime" },
+       { "gqf", "application/vnd.grafeq" },
+       { "gqs", "application/vnd.grafeq" },
+       { "gac", "application/vnd.groove-account" },
+       { "ghf", "application/vnd.groove-help" },
+       { "gim", "application/vnd.groove-identity-message" },
+       { "grv", "application/vnd.groove-injector" },
+       { "gtm", "application/vnd.groove-tool-message" },
+       { "tpl", "application/vnd.groove-tool-template" },
+       { "vcg", "application/vnd.groove-vcard" },
+       { "hal", "application/vnd.hal+xml" },
+       { "zmm", "application/vnd.handheld-entertainment+xml" },
+       { "hbci", "application/vnd.hbci" },
+       { "les", "application/vnd.hhe.lesson-player" },
+       { "hpgl", "application/vnd.hp-hpgl" },
+       { "hpid", "application/vnd.hp-hpid" },
+       { "hps", "application/vnd.hp-hps" },
+       { "jlt", "application/vnd.hp-jlyt" },
+       { "pcl", "application/vnd.hp-pcl" },
+       { "pclxl", "application/vnd.hp-pclxl" },
+       { "sfd-hdstx", "application/vnd.hydrostatix.sof-data" },
+       { "mpy", "application/vnd.ibm.minipay" },
+       { "afp", "application/vnd.ibm.modcap" },
+       { "listafp", "application/vnd.ibm.modcap" },
+       { "list3820", "application/vnd.ibm.modcap" },
+       { "irm", "application/vnd.ibm.rights-management" },
+       { "sc", "application/vnd.ibm.secure-container" },
+       { "icc", "application/vnd.iccprofile" },
+       { "icm", "application/vnd.iccprofile" },
+       { "igl", "application/vnd.igloader" },
+       { "ivp", "application/vnd.immervision-ivp" },
+       { "ivu", "application/vnd.immervision-ivu" },
+       { "igm", "application/vnd.insors.igm" },
+       { "xpw", "application/vnd.intercon.formnet" },
+       { "xpx", "application/vnd.intercon.formnet" },
+       { "i2g", "application/vnd.intergeo" },
+       { "qbo", "application/vnd.intu.qbo" },
+       { "qfx", "application/vnd.intu.qfx" },
+       { "rcprofile", "application/vnd.ipunplugged.rcprofile" },
+       { "irp", "application/vnd.irepository.package+xml" },
+       { "xpr", "application/vnd.is-xpr" },
+       { "fcs", "application/vnd.isac.fcs" },
+       { "jam", "application/vnd.jam" },
+       { "rms", "application/vnd.jcp.javame.midlet-rms" },
+       { "jisp", "application/vnd.jisp" },
+       { "joda", "application/vnd.joost.joda-archive" },
+       { "ktz", "application/vnd.kahootz" },
+       { "ktr", "application/vnd.kahootz" },
+       { "karbon", "application/vnd.kde.karbon" },
+       { "chrt", "application/vnd.kde.kchart" },
+       { "kfo", "application/vnd.kde.kformula" },
+       { "flw", "application/vnd.kde.kivio" },
+       { "kon", "application/vnd.kde.kontour" },
+       { "kpr", "application/vnd.kde.kpresenter" },
+       { "kpt", "application/vnd.kde.kpresenter" },
+       { "ksp", "application/vnd.kde.kspread" },
+       { "kwd", "application/vnd.kde.kword" },
+       { "kwt", "application/vnd.kde.kword" },
+       { "htke", "application/vnd.kenameaapp" },
+       { "kia", "application/vnd.kidspiration" },
+       { "kne", "application/vnd.kinar" },
+       { "knp", "application/vnd.kinar" },
+       { "skp", "application/vnd.koan" },
+       { "skd", "application/vnd.koan" },
+       { "skt", "application/vnd.koan" },
+       { "skm", "application/vnd.koan" },
+       { "sse", "application/vnd.kodak-descriptor" },
+       { "lasxml", "application/vnd.las.las+xml" },
+       { "lbd", "application/vnd.llamagraphics.life-balance.desktop" },
+       { "lbe", "application/vnd.llamagraphics.life-balance.exchange+xml" },
+       { "123", "application/vnd.lotus-1-2-3" },
+       { "apr", "application/vnd.lotus-approach" },
+       { "pre", "application/vnd.lotus-freelance" },
+       { "nsf", "application/vnd.lotus-notes" },
+       { "org", "application/vnd.lotus-organizer" },
+       { "scm", "application/vnd.lotus-screencam" },
+       { "lwp", "application/vnd.lotus-wordpro" },
+       { "portpkg", "application/vnd.macports.portpkg" },
+       { "mcd", "application/vnd.mcd" },
+       { "mc1", "application/vnd.medcalcdata" },
+       { "cdkey", "application/vnd.mediastation.cdkey" },
+       { "mwf", "application/vnd.mfer" },
+       { "mfm", "application/vnd.mfmp" },
+       { "flo", "application/vnd.micrografx.flo" },
+       { "igx", "application/vnd.micrografx.igx" },
+       { "mif", "application/vnd.mif" },
+       { "daf", "application/vnd.mobius.daf" },
+       { "dis", "application/vnd.mobius.dis" },
+       { "mbk", "application/vnd.mobius.mbk" },
+       { "mqy", "application/vnd.mobius.mqy" },
+       { "msl", "application/vnd.mobius.msl" },
+       { "plc", "application/vnd.mobius.plc" },
+       { "txf", "application/vnd.mobius.txf" },
+       { "mpn", "application/vnd.mophun.application" },
+       { "mpc", "application/vnd.mophun.certificate" },
+       { "xul", "application/vnd.mozilla.xul+xml" },
+       { "cil", "application/vnd.ms-artgalry" },
+       { "cab", "application/vnd.ms-cab-compressed" },
+       { "xls", "application/vnd.ms-excel" },
+       { "xlm", "application/vnd.ms-excel" },
+       { "xla", "application/vnd.ms-excel" },
+       { "xlc", "application/vnd.ms-excel" },
+       { "xlt", "application/vnd.ms-excel" },
+       { "xlw", "application/vnd.ms-excel" },
+       { "xlam", "application/vnd.ms-excel.addin.macroenabled.12" },
+       { "xlsb", "application/vnd.ms-excel.sheet.binary.macroenabled.12" },
+       { "xlsm", "application/vnd.ms-excel.sheet.macroenabled.12" },
+       { "xltm", "application/vnd.ms-excel.template.macroenabled.12" },
+       { "eot", "application/vnd.ms-fontobject" },
+       { "chm", "application/vnd.ms-htmlhelp" },
+       { "ims", "application/vnd.ms-ims" },
+       { "lrm", "application/vnd.ms-lrm" },
+       { "thmx", "application/vnd.ms-officetheme" },
+       { "cat", "application/vnd.ms-pki.seccat" },
+       { "stl", "application/vnd.ms-pki.stl" },
+       { "ppt", "application/vnd.ms-powerpoint" },
+       { "pps", "application/vnd.ms-powerpoint" },
+       { "pot", "application/vnd.ms-powerpoint" },
+       { "ppam", "application/vnd.ms-powerpoint.addin.macroenabled.12" },
+       { "pptm", "application/vnd.ms-powerpoint.presentation.macroenabled.12" },
+       { "sldm", "application/vnd.ms-powerpoint.slide.macroenabled.12" },
+       { "ppsm", "application/vnd.ms-powerpoint.slideshow.macroenabled.12" },
+       { "potm", "application/vnd.ms-powerpoint.template.macroenabled.12" },
+       { "mpp", "application/vnd.ms-project" },
+       { "mpt", "application/vnd.ms-project" },
+       { "docm", "application/vnd.ms-word.document.macroenabled.12" },
+       { "dotm", "application/vnd.ms-word.template.macroenabled.12" },
+       { "wps", "application/vnd.ms-works" },
+       { "wks", "application/vnd.ms-works" },
+       { "wcm", "application/vnd.ms-works" },
+       { "wdb", "application/vnd.ms-works" },
+       { "wpl", "application/vnd.ms-wpl" },
+       { "xps", "application/vnd.ms-xpsdocument" },
+       { "mseq", "application/vnd.mseq" },
+       { "mus", "application/vnd.musician" },
+       { "msty", "application/vnd.muvee.style" },
+       { "taglet", "application/vnd.mynfc" },
+       { "nlu", "application/vnd.neurolanguage.nlu" },
+       { "ntf", "application/vnd.nitf" },
+       { "nitf", "application/vnd.nitf" },
+       { "nnd", "application/vnd.noblenet-directory" },
+       { "nns", "application/vnd.noblenet-sealer" },
+       { "nnw", "application/vnd.noblenet-web" },
+       { "ngdat", "application/vnd.nokia.n-gage.data" },
+       { "n-gage", "application/vnd.nokia.n-gage.symbian.install" },
+       { "rpst", "application/vnd.nokia.radio-preset" },
+       { "rpss", "application/vnd.nokia.radio-presets" },
+       { "edm", "application/vnd.novadigm.edm" },
+       { "edx", "application/vnd.novadigm.edx" },
+       { "ext", "application/vnd.novadigm.ext" },
+       { "odc", "application/vnd.oasis.opendocument.chart" },
+       { "otc", "application/vnd.oasis.opendocument.chart-template" },
+       { "odb", "application/vnd.oasis.opendocument.database" },
+       { "odf", "application/vnd.oasis.opendocument.formula" },
+       { "odft", "application/vnd.oasis.opendocument.formula-template" },
+       { "odg", "application/vnd.oasis.opendocument.graphics" },
+       { "otg", "application/vnd.oasis.opendocument.graphics-template" },
+       { "odi", "application/vnd.oasis.opendocument.image" },
+       { "oti", "application/vnd.oasis.opendocument.image-template" },
        { "odp", "application/vnd.oasis.opendocument.presentation" },
+       { "otp", "application/vnd.oasis.opendocument.presentation-template" },
        { "ods", "application/vnd.oasis.opendocument.spreadsheet" },
+       { "ots", "application/vnd.oasis.opendocument.spreadsheet-template" },
        { "odt", "application/vnd.oasis.opendocument.text" },
-       { "oga", "audio/ogg" },
-       { "pdf", "application/pdf" },
-       { "pptx", "application/vnd.ms-powerpoint" },
-       { "pps", "application/vnd.ms-powerpoint" },
-       { "qt", "video/quicktime" },
+       { "odm", "application/vnd.oasis.opendocument.text-master" },
+       { "ott", "application/vnd.oasis.opendocument.text-template" },
+       { "oth", "application/vnd.oasis.opendocument.text-web" },
+       { "xo", "application/vnd.olpc-sugar" },
+       { "dd2", "application/vnd.oma.dd2+xml" },
+       { "oxt", "application/vnd.openofficeorg.extension" },
+       { "pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
+       { "sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide" },
+       { "ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow" },
+       { "potx", "application/vnd.openxmlformats-officedocument.presentationml.template" },
+       { "xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" },
+       { "xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template" },
+       { "docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
+       { "dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" },
+       { "mgp", "application/vnd.osgeo.mapguide.package" },
+       { "dp", "application/vnd.osgi.dp" },
+       { "esa", "application/vnd.osgi.subsystem" },
+       { "pdb", "application/vnd.palm" },
+       { "pqa", "application/vnd.palm" },
+       { "oprc", "application/vnd.palm" },
+       { "paw", "application/vnd.pawaafile" },
+       { "str", "application/vnd.pg.format" },
+       { "ei6", "application/vnd.pg.osasli" },
+       { "efif", "application/vnd.picsel" },
+       { "wg", "application/vnd.pmi.widget" },
+       { "plf", "application/vnd.pocketlearn" },
+       { "pbd", "application/vnd.powerbuilder6" },
+       { "box", "application/vnd.previewsystems.box" },
+       { "mgz", "application/vnd.proteus.magazine" },
+       { "qps", "application/vnd.publishare-delta-tree" },
+       { "ptid", "application/vnd.pvi.ptid1" },
+       { "qxd", "application/vnd.quark.quarkxpress" },
+       { "qxt", "application/vnd.quark.quarkxpress" },
+       { "qwd", "application/vnd.quark.quarkxpress" },
+       { "qwt", "application/vnd.quark.quarkxpress" },
+       { "qxl", "application/vnd.quark.quarkxpress" },
+       { "qxb", "application/vnd.quark.quarkxpress" },
+       { "bed", "application/vnd.realvnc.bed" },
+       { "mxl", "application/vnd.recordare.musicxml" },
+       { "musicxml", "application/vnd.recordare.musicxml+xml" },
+       { "cryptonote", "application/vnd.rig.cryptonote" },
+       { "cod", "application/vnd.rim.cod" },
+       { "rm", "application/vnd.rn-realmedia" },
+       { "rmvb", "application/vnd.rn-realmedia-vbr" },
+       { "link66", "application/vnd.route66.link66+xml" },
+       { "st", "application/vnd.sailingtracker.track" },
+       { "see", "application/vnd.seemail" },
+       { "sema", "application/vnd.sema" },
+       { "semd", "application/vnd.semd" },
+       { "semf", "application/vnd.semf" },
+       { "ifm", "application/vnd.shana.informed.formdata" },
+       { "itp", "application/vnd.shana.informed.formtemplate" },
+       { "iif", "application/vnd.shana.informed.interchange" },
+       { "ipk", "application/vnd.shana.informed.package" },
+       { "twd", "application/vnd.simtech-mindmapper" },
+       { "twds", "application/vnd.simtech-mindmapper" },
+       { "mmf", "application/vnd.smaf" },
+       { "teacher", "application/vnd.smart.teacher" },
+       { "sdkm", "application/vnd.solent.sdkm+xml" },
+       { "sdkd", "application/vnd.solent.sdkm+xml" },
+       { "dxp", "application/vnd.spotfire.dxp" },
+       { "sfs", "application/vnd.spotfire.sfs" },
+       { "sdc", "application/vnd.stardivision.calc" },
+       { "sda", "application/vnd.stardivision.draw" },
+       { "sdd", "application/vnd.stardivision.impress" },
+       { "smf", "application/vnd.stardivision.math" },
+       { "sdw", "application/vnd.stardivision.writer" },
+       { "vor", "application/vnd.stardivision.writer" },
+       { "sgl", "application/vnd.stardivision.writer-global" },
+       { "smzip", "application/vnd.stepmania.package" },
+       { "sm", "application/vnd.stepmania.stepchart" },
+       { "sxc", "application/vnd.sun.xml.calc" },
+       { "stc", "application/vnd.sun.xml.calc.template" },
+       { "sxd", "application/vnd.sun.xml.draw" },
+       { "std", "application/vnd.sun.xml.draw.template" },
+       { "sxi", "application/vnd.sun.xml.impress" },
+       { "sti", "application/vnd.sun.xml.impress.template" },
+       { "sxm", "application/vnd.sun.xml.math" },
+       { "sxw", "application/vnd.sun.xml.writer" },
+       { "sxg", "application/vnd.sun.xml.writer.global" },
+       { "stw", "application/vnd.sun.xml.writer.template" },
+       { "sus", "application/vnd.sus-calendar" },
+       { "susp", "application/vnd.sus-calendar" },
+       { "svd", "application/vnd.svd" },
+       { "sis", "application/vnd.symbian.install" },
+       { "sisx", "application/vnd.symbian.install" },
+       { "xsm", "application/vnd.syncml+xml" },
+       { "bdm", "application/vnd.syncml.dm+wbxml" },
+       { "xdm", "application/vnd.syncml.dm+xml" },
+       { "tao", "application/vnd.tao.intent-module-archive" },
+       { "pcap", "application/vnd.tcpdump.pcap" },
+       { "cap", "application/vnd.tcpdump.pcap" },
+       { "dmp", "application/vnd.tcpdump.pcap" },
+       { "tmo", "application/vnd.tmobile-livetv" },
+       { "tpt", "application/vnd.trid.tpt" },
+       { "mxs", "application/vnd.triscape.mxs" },
+       { "tra", "application/vnd.trueapp" },
+       { "ufd", "application/vnd.ufdl" },
+       { "ufdl", "application/vnd.ufdl" },
+       { "utz", "application/vnd.uiq.theme" },
+       { "umj", "application/vnd.umajin" },
+       { "unityweb", "application/vnd.unity" },
+       { "uoml", "application/vnd.uoml+xml" },
+       { "vcx", "application/vnd.vcx" },
+       { "vsd", "application/vnd.visio" },
+       { "vst", "application/vnd.visio" },
+       { "vss", "application/vnd.visio" },
+       { "vsw", "application/vnd.visio" },
+       { "vis", "application/vnd.visionary" },
+       { "vsf", "application/vnd.vsf" },
+       { "wbxml", "application/vnd.wap.wbxml" },
+       { "wmlc", "application/vnd.wap.wmlc" },
+       { "wmlsc", "application/vnd.wap.wmlscriptc" },
+       { "wtb", "application/vnd.webturbo" },
+       { "nbp", "application/vnd.wolfram.player" },
+       { "wpd", "application/vnd.wordperfect" },
+       { "wqd", "application/vnd.wqd" },
+       { "stf", "application/vnd.wt.stf" },
+       { "xar", "application/vnd.xara" },
+       { "xfdl", "application/vnd.xfdl" },
+       { "hvd", "application/vnd.yamaha.hv-dic" },
+       { "hvs", "application/vnd.yamaha.hv-script" },
+       { "hvp", "application/vnd.yamaha.hv-voice" },
+       { "osf", "application/vnd.yamaha.openscoreformat" },
+       { "osfpvg", "application/vnd.yamaha.openscoreformat.osfpvg+xml" },
+       { "saf", "application/vnd.yamaha.smaf-audio" },
+       { "spf", "application/vnd.yamaha.smaf-phrase" },
+       { "cmp", "application/vnd.yellowriver-custom-menu" },
+       { "zir", "application/vnd.zul" },
+       { "zirz", "application/vnd.zul" },
+       { "zaz", "application/vnd.zzazz.deck+xml" },
+       { "vxml", "application/voicexml+xml" },
+       { "wgt", "application/widget" },
+       { "hlp", "application/winhlp" },
+       { "wsdl", "application/wsdl+xml" },
+       { "wspolicy", "application/wspolicy+xml" },
+       { "7z", "application/x-7z-compressed" },
+       { "abw", "application/x-abiword" },
+       { "ace", "application/x-ace-compressed" },
+       { "dmg", "application/x-apple-diskimage" },
+       { "aab", "application/x-authorware-bin" },
+       { "x32", "application/x-authorware-bin" },
+       { "u32", "application/x-authorware-bin" },
+       { "vox", "application/x-authorware-bin" },
+       { "aam", "application/x-authorware-map" },
+       { "aas", "application/x-authorware-seg" },
+       { "bcpio", "application/x-bcpio" },
+       { "torrent", "application/x-bittorrent" },
+       { "blb", "application/x-blorb" },
+       { "blorb", "application/x-blorb" },
+       { "bz", "application/x-bzip" },
+       { "bz2", "application/x-bzip2" },
+       { "boz", "application/x-bzip2" },
+       { "cbr", "application/x-cbr" },
+       { "cba", "application/x-cbr" },
+       { "cbt", "application/x-cbr" },
+       { "cbz", "application/x-cbr" },
+       { "cb7", "application/x-cbr" },
+       { "vcd", "application/x-cdlink" },
+       { "cfs", "application/x-cfs-compressed" },
+       { "chat", "application/x-chat" },
+       { "pgn", "application/x-chess-pgn" },
+       { "nsc", "application/x-conference" },
+       { "cpio", "application/x-cpio" },
+       { "csh", "application/x-csh" },
+       { "deb", "application/x-debian-package" },
+       { "udeb", "application/x-debian-package" },
+       { "dgc", "application/x-dgc-compressed" },
+       { "dir", "application/x-director" },
+       { "dcr", "application/x-director" },
+       { "dxr", "application/x-director" },
+       { "cst", "application/x-director" },
+       { "cct", "application/x-director" },
+       { "cxt", "application/x-director" },
+       { "w3d", "application/x-director" },
+       { "fgd", "application/x-director" },
+       { "swa", "application/x-director" },
+       { "wad", "application/x-doom" },
+       { "ncx", "application/x-dtbncx+xml" },
+       { "dtb", "application/x-dtbook+xml" },
+       { "res", "application/x-dtbresource+xml" },
+       { "dvi", "application/x-dvi" },
+       { "evy", "application/x-envoy" },
+       { "eva", "application/x-eva" },
+       { "bdf", "application/x-font-bdf" },
+       { "gsf", "application/x-font-ghostscript" },
+       { "psf", "application/x-font-linux-psf" },
+       { "otf", "application/x-font-otf" },
+       { "pcf", "application/x-font-pcf" },
+       { "snf", "application/x-font-snf" },
+       { "ttf", "application/x-font-ttf" },
+       { "ttc", "application/x-font-ttf" },
+       { "pfa", "application/x-font-type1" },
+       { "pfb", "application/x-font-type1" },
+       { "pfm", "application/x-font-type1" },
+       { "afm", "application/x-font-type1" },
+       { "woff", "application/font-woff" },
+       { "arc", "application/x-freearc" },
+       { "spl", "application/x-futuresplash" },
+       { "gca", "application/x-gca-compressed" },
+       { "ulx", "application/x-glulx" },
+       { "gnumeric", "application/x-gnumeric" },
+       { "gramps", "application/x-gramps-xml" },
+       { "gtar", "application/x-gtar" },
+       { "hdf", "application/x-hdf" },
+       { "install", "application/x-install-instructions" },
+       { "iso", "application/x-iso9660-image" },
+       { "jnlp", "application/x-java-jnlp-file" },
+       { "latex", "application/x-latex" },
+       { "lzh", "application/x-lzh-compressed" },
+       { "lha", "application/x-lzh-compressed" },
+       { "mie", "application/x-mie" },
+       { "prc", "application/x-mobipocket-ebook" },
+       { "mobi", "application/x-mobipocket-ebook" },
+       { "application", "application/x-ms-application" },
+       { "lnk", "application/x-ms-shortcut" },
+       { "wmd", "application/x-ms-wmd" },
+       { "wmz", "application/x-msmetafile" },
+       { "xbap", "application/x-ms-xbap" },
+       { "mdb", "application/x-msaccess" },
+       { "obd", "application/x-msbinder" },
+       { "crd", "application/x-mscardfile" },
+       { "clp", "application/x-msclip" },
+       { "exe", "application/x-msdownload" },
+       { "dll", "application/x-msdownload" },
+       { "com", "application/x-msdownload" },
+       { "bat", "application/x-msdownload" },
+       { "msi", "application/x-msdownload" },
+       { "mvb", "application/x-msmediaview" },
+       { "m13", "application/x-msmediaview" },
+       { "m14", "application/x-msmediaview" },
+       { "wmf", "application/x-msmetafile" },
+       { "emf", "application/x-msmetafile" },
+       { "emz", "application/x-msmetafile" },
+       { "mny", "application/x-msmoney" },
+       { "pub", "application/x-mspublisher" },
+       { "scd", "application/x-msschedule" },
+       { "trm", "application/x-msterminal" },
+       { "wri", "application/x-mswrite" },
+       { "nc", "application/x-netcdf" },
+       { "cdf", "application/x-netcdf" },
+       { "nzb", "application/x-nzb" },
+       { "p12", "application/x-pkcs12" },
+       { "pfx", "application/x-pkcs12" },
+       { "p7b", "application/x-pkcs7-certificates" },
+       { "spc", "application/x-pkcs7-certificates" },
+       { "p7r", "application/x-pkcs7-certreqresp" },
+       { "rar", "application/x-rar-compressed" },
+       { "ris", "application/x-research-info-systems" },
+       { "sh", "application/x-sh" },
+       { "shar", "application/x-shar" },
        { "swf", "application/x-shockwave-flash" },
+       { "xap", "application/x-silverlight-app" },
+       { "sql", "application/x-sql" },
+       { "sit", "application/x-stuffit" },
+       { "sitx", "application/x-stuffitx" },
+       { "srt", "application/x-subrip" },
+       { "sv4cpio", "application/x-sv4cpio" },
+       { "sv4crc", "application/x-sv4crc" },
+       { "t3", "application/x-t3vm-image" },
+       { "gam", "application/x-tads" },
        { "tar", "application/x-tar" },
-       { "text", "text/plain" },
-       { "tif", "image/tiff" },
-       { "wav", "audio/wav" },
-       { "wmv", "video/x-ms-wmv" },
-       { "xls", "application/vnd.ms-excel" },
-       { "xlsx", "application/vnd.ms-excel" },
-       { "zip", "application/x-zip-compressed" },
+       { "tcl", "application/x-tcl" },
+       { "tex", "application/x-tex" },
+       { "tfm", "application/x-tex-tfm" },
+       { "texinfo", "application/x-texinfo" },
+       { "texi", "application/x-texinfo" },
+       { "obj", "application/x-tgif" },
+       { "ustar", "application/x-ustar" },
+       { "src", "application/x-wais-source" },
+       { "der", "application/x-x509-ca-cert" },
+       { "crt", "application/x-x509-ca-cert" },
+       { "fig", "application/x-xfig" },
+       { "xlf", "application/x-xliff+xml" },
+       { "xpi", "application/x-xpinstall" },
+       { "xz", "application/x-xz" },
+       { "z1", "application/x-zmachine" },
+       { "z2", "application/x-zmachine" },
+       { "z3", "application/x-zmachine" },
+       { "z4", "application/x-zmachine" },
+       { "z5", "application/x-zmachine" },
+       { "z6", "application/x-zmachine" },
+       { "z7", "application/x-zmachine" },
+       { "z8", "application/x-zmachine" },
+       { "xaml", "application/xaml+xml" },
+       { "xdf", "application/xcap-diff+xml" },
+       { "xenc", "application/xenc+xml" },
+       { "xhtml", "application/xhtml+xml" },
+       { "xht", "application/xhtml+xml" },
        { "xml", "application/xml" },
        { "xsl", "application/xml" },
-       { "xsd", "application/xml" },
+       { "dtd", "application/xml-dtd" },
+       { "xop", "application/xop+xml" },
+       { "xpl", "application/xproc+xml" },
+       { "xslt", "application/xslt+xml" },
+       { "xspf", "application/xspf+xml" },
+       { "mxml", "application/xv+xml" },
+       { "xhvml", "application/xv+xml" },
+       { "xvml", "application/xv+xml" },
+       { "xvm", "application/xv+xml" },
+       { "yang", "application/yang" },
+       { "yin", "application/yin+xml" },
+       { "zip", "application/zip" },
+       { "adp", "audio/adpcm" },
+       { "au", "audio/basic" },
+       { "snd", "audio/basic" },
+       { "mid", "audio/midi" },
+       { "midi", "audio/midi" },
+       { "kar", "audio/midi" },
+       { "rmi", "audio/midi" },
+       { "mp4a", "audio/mp4" },
+       { "mpga", "audio/mpeg" },
+       { "mp2", "audio/mpeg" },
+       { "mp2a", "audio/mpeg" },
+       { "mp3", "audio/mpeg" },
+       { "m2a", "audio/mpeg" },
+       { "m3a", "audio/mpeg" },
+       { "oga", "audio/ogg" },
+       { "ogg", "audio/ogg" },
+       { "spx", "audio/ogg" },
+       { "s3m", "audio/s3m" },
+       { "sil", "audio/silk" },
+       { "uva", "audio/vnd.dece.audio" },
+       { "uvva", "audio/vnd.dece.audio" },
+       { "eol", "audio/vnd.digital-winds" },
+       { "dra", "audio/vnd.dra" },
+       { "dts", "audio/vnd.dts" },
+       { "dtshd", "audio/vnd.dts.hd" },
+       { "lvp", "audio/vnd.lucent.voice" },
+       { "pya", "audio/vnd.ms-playready.media.pya" },
+       { "ecelp4800", "audio/vnd.nuera.ecelp4800" },
+       { "ecelp7470", "audio/vnd.nuera.ecelp7470" },
+       { "ecelp9600", "audio/vnd.nuera.ecelp9600" },
+       { "rip", "audio/vnd.rip" },
+       { "weba", "audio/webm" },
+       { "aac", "audio/x-aac" },
+       { "aif", "audio/x-aiff" },
+       { "aiff", "audio/x-aiff" },
+       { "aifc", "audio/x-aiff" },
+       { "caf", "audio/x-caf" },
+       { "flac", "audio/x-flac" },
+       { "mka", "audio/x-matroska" },
+       { "m3u", "audio/x-mpegurl" },
+       { "wax", "audio/x-ms-wax" },
+       { "wma", "audio/x-ms-wma" },
+       { "ram", "audio/x-pn-realaudio" },
+       { "ra", "audio/x-pn-realaudio" },
+       { "rmp", "audio/x-pn-realaudio-plugin" },
+       { "wav", "audio/x-wav" },
+       { "xm", "audio/xm" },
+       { "cdx", "chemical/x-cdx" },
+       { "cif", "chemical/x-cif" },
+       { "cmdf", "chemical/x-cmdf" },
+       { "cml", "chemical/x-cml" },
+       { "csml", "chemical/x-csml" },
+       { "xyz", "chemical/x-xyz" },
+       { "bmp", "image/bmp" },
+       { "cgm", "image/cgm" },
+       { "g3", "image/g3fax" },
+       { "gif", "image/gif" },
+       { "ief", "image/ief" },
+       { "jpeg", "image/jpeg" },
+       { "jpg", "image/jpeg" },
+       { "jpe", "image/jpeg" },
+       { "ktx", "image/ktx" },
+       { "png", "image/png" },
+       { "btif", "image/prs.btif" },
+       { "sgi", "image/sgi" },
+       { "svg", "image/svg+xml" },
+       { "svgz", "image/svg+xml" },
+       { "tiff", "image/tiff" },
+       { "tif", "image/tiff" },
+       { "psd", "image/vnd.adobe.photoshop" },
+       { "uvi", "image/vnd.dece.graphic" },
+       { "uvvi", "image/vnd.dece.graphic" },
+       { "uvg", "image/vnd.dece.graphic" },
+       { "uvvg", "image/vnd.dece.graphic" },
+       { "sub", "text/vnd.dvb.subtitle" },
+       { "djvu", "image/vnd.djvu" },
+       { "djv", "image/vnd.djvu" },
+       { "dwg", "image/vnd.dwg" },
+       { "dxf", "image/vnd.dxf" },
+       { "fbs", "image/vnd.fastbidsheet" },
+       { "fpx", "image/vnd.fpx" },
+       { "fst", "image/vnd.fst" },
+       { "mmr", "image/vnd.fujixerox.edmics-mmr" },
+       { "rlc", "image/vnd.fujixerox.edmics-rlc" },
+       { "mdi", "image/vnd.ms-modi" },
+       { "wdp", "image/vnd.ms-photo" },
+       { "npx", "image/vnd.net-fpx" },
+       { "wbmp", "image/vnd.wap.wbmp" },
+       { "xif", "image/vnd.xiff" },
+       { "webp", "image/webp" },
+       { "3ds", "image/x-3ds" },
+       { "ras", "image/x-cmu-raster" },
+       { "cmx", "image/x-cmx" },
+       { "fh", "image/x-freehand" },
+       { "fhc", "image/x-freehand" },
+       { "fh4", "image/x-freehand" },
+       { "fh5", "image/x-freehand" },
+       { "fh7", "image/x-freehand" },
+       { "ico", "image/x-icon" },
+       { "sid", "image/x-mrsid-image" },
+       { "pcx", "image/x-pcx" },
+       { "pic", "image/x-pict" },
+       { "pct", "image/x-pict" },
+       { "pnm", "image/x-portable-anymap" },
+       { "pbm", "image/x-portable-bitmap" },
+       { "pgm", "image/x-portable-graymap" },
+       { "ppm", "image/x-portable-pixmap" },
+       { "rgb", "image/x-rgb" },
+       { "tga", "image/x-tga" },
+       { "xbm", "image/x-xbitmap" },
+       { "xpm", "image/x-xpixmap" },
+       { "xwd", "image/x-xwindowdump" },
+       { "eml", "message/rfc822" },
+       { "mime", "message/rfc822" },
+       { "igs", "model/iges" },
+       { "iges", "model/iges" },
+       { "msh", "model/mesh" },
+       { "mesh", "model/mesh" },
+       { "silo", "model/mesh" },
+       { "dae", "model/vnd.collada+xml" },
+       { "dwf", "model/vnd.dwf" },
+       { "gdl", "model/vnd.gdl" },
+       { "gtw", "model/vnd.gtw" },
+       { "mts", "model/vnd.mts" },
+       { "vtu", "model/vnd.vtu" },
+       { "wrl", "model/vrml" },
+       { "vrml", "model/vrml" },
+       { "x3db", "model/x3d+binary" },
+       { "x3dbz", "model/x3d+binary" },
+       { "x3dv", "model/x3d+vrml" },
+       { "x3dvz", "model/x3d+vrml" },
+       { "x3d", "model/x3d+xml" },
+       { "x3dz", "model/x3d+xml" },
+       { "appcache", "text/cache-manifest" },
+       { "ics", "text/calendar" },
+       { "ifb", "text/calendar" },
+       { "css", "text/css" },
+       { "csv", "text/csv" },
+       { "html", "text/html" },
+       { "htm", "text/html" },
+       { "n3", "text/n3" },
+       { "txt", "text/plain" },
+       { "text", "text/plain" },
+       { "conf", "text/plain" },
+       { "def", "text/plain" },
+       { "list", "text/plain" },
+       { "log", "text/plain" },
+       { "in", "text/plain" },
+       { "dsc", "text/prs.lines.tag" },
+       { "rtx", "text/richtext" },
+       { "sgml", "text/sgml" },
+       { "sgm", "text/sgml" },
+       { "tsv", "text/tab-separated-values" },
+       { "t", "text/troff" },
+       { "tr", "text/troff" },
+       { "roff", "text/troff" },
+       { "man", "text/troff" },
+       { "me", "text/troff" },
+       { "ms", "text/troff" },
+       { "ttl", "text/turtle" },
+       { "uri", "text/uri-list" },
+       { "uris", "text/uri-list" },
+       { "urls", "text/uri-list" },
+       { "vcard", "text/vcard" },
+       { "curl", "text/vnd.curl" },
+       { "dcurl", "text/vnd.curl.dcurl" },
+       { "scurl", "text/vnd.curl.scurl" },
+       { "mcurl", "text/vnd.curl.mcurl" },
+       { "fly", "text/vnd.fly" },
+       { "flx", "text/vnd.fmi.flexstor" },
+       { "gv", "text/vnd.graphviz" },
+       { "3dml", "text/vnd.in3d.3dml" },
+       { "spot", "text/vnd.in3d.spot" },
+       { "jad", "text/vnd.sun.j2me.app-descriptor" },
+       { "wml", "text/vnd.wap.wml" },
+       { "wmls", "text/vnd.wap.wmlscript" },
+       { "s", "text/x-asm" },
+       { "asm", "text/x-asm" },
+       { "c", "text/x-c" },
+       { "cc", "text/x-c" },
+       { "cxx", "text/x-c" },
+       { "cpp", "text/x-c" },
+       { "h", "text/x-c" },
+       { "hh", "text/x-c" },
+       { "dic", "text/x-c" },
+       { "f", "text/x-fortran" },
+       { "for", "text/x-fortran" },
+       { "f77", "text/x-fortran" },
+       { "f90", "text/x-fortran" },
+       { "java", "text/x-java-source" },
+       { "opml", "text/x-opml" },
+       { "p", "text/x-pascal" },
+       { "pas", "text/x-pascal" },
+       { "nfo", "text/x-nfo" },
+       { "etx", "text/x-setext" },
+       { "sfv", "text/x-sfv" },
+       { "uu", "text/x-uuencode" },
+       { "vcs", "text/x-vcalendar" },
+       { "vcf", "text/x-vcard" },
+       { "3gp", "video/3gpp" },
+       { "3g2", "video/3gpp2" },
+       { "h261", "video/h261" },
+       { "h263", "video/h263" },
+       { "h264", "video/h264" },
+       { "jpgv", "video/jpeg" },
+       { "jpm", "video/jpm" },
+       { "jpgm", "video/jpm" },
+       { "mj2", "video/mj2" },
+       { "mjp2", "video/mj2" },
+       { "mp4", "video/mp4" },
+       { "mp4v", "video/mp4" },
+       { "mpg4", "video/mp4" },
+       { "mpeg", "video/mpeg" },
+       { "mpg", "video/mpeg" },
+       { "mpe", "video/mpeg" },
+       { "m1v", "video/mpeg" },
+       { "m2v", "video/mpeg" },
+       { "ogv", "video/ogg" },
+       { "qt", "video/quicktime" },
+       { "mov", "video/quicktime" },
+       { "uvh", "video/vnd.dece.hd" },
+       { "uvvh", "video/vnd.dece.hd" },
+       { "uvm", "video/vnd.dece.mobile" },
+       { "uvvm", "video/vnd.dece.mobile" },
+       { "uvp", "video/vnd.dece.pd" },
+       { "uvvp", "video/vnd.dece.pd" },
+       { "uvs", "video/vnd.dece.sd" },
+       { "uvvs", "video/vnd.dece.sd" },
+       { "uvv", "video/vnd.dece.video" },
+       { "uvvv", "video/vnd.dece.video" },
+       { "dvb", "video/vnd.dvb.file" },
+       { "fvt", "video/vnd.fvt" },
+       { "mxu", "video/vnd.mpegurl" },
+       { "m4u", "video/vnd.mpegurl" },
+       { "pyv", "video/vnd.ms-playready.media.pyv" },
+       { "uvu", "video/vnd.uvvu.mp4" },
+       { "uvvu", "video/vnd.uvvu.mp4" },
+       { "viv", "video/vnd.vivo" },
+       { "webm", "video/webm" },
+       { "f4v", "video/x-f4v" },
+       { "fli", "video/x-fli" },
+       { "flv", "video/x-flv" },
+       { "m4v", "video/x-m4v" },
+       { "mkv", "video/x-matroska" },
+       { "mk3d", "video/x-matroska" },
+       { "mks", "video/x-matroska" },
+       { "mng", "video/x-mng" },
+       { "asf", "video/x-ms-asf" },
+       { "asx", "video/x-ms-asf" },
+       { "vob", "video/x-ms-vob" },
+       { "wm", "video/x-ms-wm" },
+       { "wmv", "video/x-ms-wmv" },
+       { "wmx", "video/x-ms-wmx" },
+       { "wvx", "video/x-ms-wvx" },
+       { "avi", "video/x-msvideo" },
+       { "movie", "video/x-sgi-movie" },
+       { "smv", "video/x-smv" },
+       { "ice", "x-conference/x-cooltalk" },
        { NULL, NULL }
 };