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