caboose-cms 0.7.41 → 0.7.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6aa29b1be26c03e73a77ad92a9e90ad7d29df8bb
4
- data.tar.gz: 558fa96d365b927ce5d8f9871b6965d715930eb3
3
+ metadata.gz: 356c21a5a881cbc9b4ef8da7edf2551e33e6bfb9
4
+ data.tar.gz: c20e6fd98918a645aff0dd89088bc09164f5a22c
5
5
  SHA512:
6
- metadata.gz: 8e8cb844a824029ac48c6ee79e9b5c78909dc3f3c046011d7fcfcc9f53a5a6e29114bf2a02fa40b735e5252882f4c1acc5bc92aa4ae1f9206e496522c6116f08
7
- data.tar.gz: 46ac5b3e79f447868cffcd1ca72a9b97fa7f4c34862aef8cf9600960bb9dcc46bf55d636d69190c22aa654b140b5f4cb92284ee7486dc595a9292bd479847f67
6
+ metadata.gz: 9204f0ce6d60206519cd652c21a4622575536408483723817e5e8b56e2b1165ef59ab71af647195925e1d4605940e92135ad6bf2520466df23a24fe90b5b81d6
7
+ data.tar.gz: 786b08ce636884e6b27217578621cc28fd4697d9eef03206ae0b2b84ccfd58773e8307bf5bf1507cd7a13543b6bccdd3eca51f177681f3ebecc956ccde3f1742
@@ -1,5 +1,6 @@
1
1
  require 'uri'
2
2
  require 'httparty'
3
+ require 'aws-sdk'
3
4
 
4
5
  class Caboose::Media < ActiveRecord::Base
5
6
 
@@ -49,7 +50,7 @@ class Caboose::Media < ActiveRecord::Base
49
50
 
50
51
  image_extensions = ['.jpg', '.jpeg', '.gif', '.png', '.tif']
51
52
  ext = File.extname(key).downcase
52
- mimetype = Caboose::Mimetype.mimetype_for_extension(ext)
53
+ mimetype = Caboose::Mimetype.mimetype_for_extension(ext)
53
54
  if image_extensions.include?(ext)
54
55
  self.image = URI.parse(uri)
55
56
  self.image_content_type = mimetype if mimetype
@@ -1,693 +1,693 @@
1
1
  module Caboose
2
2
  class Mimetype
3
3
 
4
- self.mimetype_for_extension(ext)
4
+ def self.mimetype_for_extension(ext)
5
5
  case ext
6
- when '.x3d' then return 'application/vnd.hzn-3d-crossword'
7
- when '.3gp' then return 'video/3gpp'
8
- when '.3g2' then return 'video/3gpp2'
9
- when '.mseq' then return 'application/vnd.mseq'
10
- when '.pwn' then return 'application/vnd.3m.post-it-notes'
11
- when '.plb' then return 'application/vnd.3gpp.pic-bw-large'
12
- when '.psb' then return 'application/vnd.3gpp.pic-bw-small'
13
- when '.pvb' then return 'application/vnd.3gpp.pic-bw-var'
14
- when '.tcap' then return 'application/vnd.3gpp2.tcap'
15
- when '.7z' then return 'application/x-7z-compressed'
16
- when '.abw' then return 'application/x-abiword'
17
- when '.ace' then return 'application/x-ace-compressed'
18
- when '.acc' then return 'application/vnd.americandynamics.acc'
19
- when '.acu' then return 'application/vnd.acucobol'
20
- when '.atc' then return 'application/vnd.acucorp'
21
- when '.adp' then return 'audio/adpcm'
22
- when '.aab' then return 'application/x-authorware-bin'
23
- when '.aam' then return 'application/x-authorware-map'
24
- when '.aas' then return 'application/x-authorware-seg'
25
- when '.air' then return 'application/vnd.adobe.air-application-installer-package+zip'
26
- when '.swf' then return 'application/x-shockwave-flash'
27
- when '.fxp' then return 'application/vnd.adobe.fxp'
28
- when '.pdf' then return 'application/pdf'
29
- when '.ppd' then return 'application/vnd.cups-ppd'
30
- when '.dir' then return 'application/x-director'
31
- when '.xdp' then return 'application/vnd.adobe.xdp+xml'
32
- when '.xfdf' then return 'application/vnd.adobe.xfdf'
33
- when '.aac' then return 'audio/x-aac'
34
- when '.ahead' then return 'application/vnd.ahead.space'
35
- when '.azf' then return 'application/vnd.airzip.filesecure.azf'
36
- when '.azs' then return 'application/vnd.airzip.filesecure.azs'
37
- when '.azw' then return 'application/vnd.amazon.ebook'
38
- when '.ami' then return 'application/vnd.amiga.ami'
39
- when '.apk' then return 'application/vnd.android.package-archive'
40
- when '.cii' then return 'application/vnd.anser-web-certificate-issue-initiation'
41
- when '.fti' then return 'application/vnd.anser-web-funds-transfer-initiation'
42
- when '.atx' then return 'application/vnd.antix.game-component'
43
- when '.mpkg' then return 'application/vnd.apple.installer+xml'
44
- when '.aw' then return 'application/applixware'
45
- when '.les' then return 'application/vnd.hhe.lesson-player'
46
- when '.swi' then return 'application/vnd.aristanetworks.swi'
47
- when '.s' then return 'text/x-asm'
48
- when '.atomcat' then return 'application/atomcat+xml'
49
- when '.atomsvc' then return 'application/atomsvc+xml'
50
- when '.atom' then return'application/atom+xml'
51
- when '.xml' then return 'application/atom+xml'
52
- when '.ac' then return 'application/pkix-attr-cert'
53
- when '.aif' then return 'audio/x-aiff'
54
- when '.avi' then return 'video/x-msvideo'
55
- when '.aep' then return 'application/vnd.audiograph'
56
- when '.dxf' then return 'image/vnd.dxf'
57
- when '.dwf' then return 'model/vnd.dwf'
58
- when '.par' then return 'text/plain-bas'
59
- when '.bcpio' then return 'application/x-bcpio'
60
- when '.bin' then return 'application/octet-stream'
61
- when '.bmp' then return 'image/bmp'
62
- when '.torrent' then return 'application/x-bittorrent'
63
- when '.cod' then return 'application/vnd.rim.cod'
64
- when '.mpm' then return 'application/vnd.blueice.multipass'
65
- when '.bmi' then return 'application/vnd.bmi'
66
- when '.sh' then return 'application/x-sh'
67
- when '.btif' then return 'image/prs.btif'
68
- when '.rep' then return 'application/vnd.businessobjects'
69
- when '.bz' then return 'application/x-bzip'
70
- when '.bz2' then return 'application/x-bzip2'
71
- when '.csh' then return 'application/x-csh'
72
- when '.c' then return 'text/x-c'
73
- when '.cdxml' then return 'application/vnd.chemdraw+xml'
74
- when '.css' then return 'text/css'
75
- when '.cdx' then return 'chemical/x-cdx'
76
- when '.cml' then return 'chemical/x-cml'
77
- when '.csml' then return 'chemical/x-csml'
78
- when '.cdbcmsg' then return 'application/vnd.contact.cmsg'
79
- when '.cla' then return 'application/vnd.claymore'
80
- when '.c4g' then return 'application/vnd.clonk.c4group'
81
- when '.sub' then return 'image/vnd.dvb.subtitle'
82
- when '.cdmia' then return 'application/cdmi-capability'
83
- when '.cdmic' then return 'application/cdmi-container'
84
- when '.cdmid' then return 'application/cdmi-domain'
85
- when '.cdmio' then return 'application/cdmi-object'
86
- when '.cdmiq' then return 'application/cdmi-queue'
87
- when '.c11amc' then return 'application/vnd.cluetrust.cartomobile-config'
88
- when '.c11amz' then return 'application/vnd.cluetrust.cartomobile-config-pkg'
89
- when '.ras' then return 'image/x-cmu-raster'
90
- when '.dae' then return 'model/vnd.collada+xml'
91
- when '.csv' then return 'text/csv'
92
- when '.cpt' then return 'application/mac-compactpro'
93
- when '.wmlc' then return 'application/vnd.wap.wmlc'
94
- when '.cgm' then return 'image/cgm'
95
- when '.ice' then return 'x-conference/x-cooltalk'
96
- when '.cmx' then return 'image/x-cmx'
97
- when '.xar' then return 'application/vnd.xara'
98
- when '.cmc' then return 'application/vnd.cosmocaller'
99
- when '.cpio' then return 'application/x-cpio'
100
- when '.clkx' then return 'application/vnd.crick.clicker'
101
- when '.clkk' then return 'application/vnd.crick.clicker.keyboard'
102
- when '.clkp' then return 'application/vnd.crick.clicker.palette'
103
- when '.clkt' then return 'application/vnd.crick.clicker.template'
104
- when '.clkw' then return 'application/vnd.crick.clicker.wordbank'
105
- when '.wbs' then return 'application/vnd.criticaltools.wbs+xml'
106
- when '.cryptonote' then return 'application/vnd.rig.cryptonote'
107
- when '.cif' then return 'chemical/x-cif'
108
- when '.cmdf' then return 'chemical/x-cmdf'
109
- when '.cu' then return 'application/cu-seeme'
110
- when '.cww' then return 'application/prs.cww'
111
- when '.curl' then return 'text/vnd.curl'
112
- when '.dcurl' then return 'text/vnd.curl.dcurl'
113
- when '.mcurl' then return 'text/vnd.curl.mcurl'
114
- when '.scurl' then return 'text/vnd.curl.scurl'
115
- when '.car' then return 'application/vnd.curl.car'
116
- when '.pcurl' then return 'application/vnd.curl.pcurl'
117
- when '.cmp' then return 'application/vnd.yellowriver-custom-menu'
118
- when '.dssc' then return 'application/dssc+der'
119
- when '.xdssc' then return 'application/dssc+xml'
120
- when '.deb' then return 'application/x-debian-package'
121
- when '.uva' then return 'audio/vnd.dece.audio'
122
- when '.uvi' then return 'image/vnd.dece.graphic'
123
- when '.uvh' then return 'video/vnd.dece.hd'
124
- when '.uvm' then return 'video/vnd.dece.mobile'
125
- when '.uvu' then return 'video/vnd.uvvu.mp4'
126
- when '.uvp' then return 'video/vnd.dece.pd'
127
- when '.uvs' then return 'video/vnd.dece.sd'
128
- when '.uvv' then return 'video/vnd.dece.video'
129
- when '.dvi' then return 'application/x-dvi'
130
- when '.seed' then return 'application/vnd.fdsn.seed'
131
- when '.dtb' then return 'application/x-dtbook+xml'
132
- when '.res' then return 'application/x-dtbresource+xml'
133
- when '.ait' then return 'application/vnd.dvb.ait'
134
- when '.svc' then return 'application/vnd.dvb.service'
135
- when '.eol' then return 'audio/vnd.digital-winds'
136
- when '.djvu' then return 'image/vnd.djvu'
137
- when '.dtd' then return 'application/xml-dtd'
138
- when '.mlp' then return 'application/vnd.dolby.mlp'
139
- when '.wad' then return 'application/x-doom'
140
- when '.dpg' then return 'application/vnd.dpgraph'
141
- when '.dra' then return 'audio/vnd.dra'
142
- when '.dfac' then return 'application/vnd.dreamfactory'
143
- when '.dts' then return 'audio/vnd.dts'
144
- when '.dtshd' then return 'audio/vnd.dts.hd'
145
- when '.dwg' then return 'image/vnd.dwg'
146
- when '.geo' then return 'application/vnd.dynageo'
147
- when '.es' then return 'application/ecmascript'
148
- when '.mag' then return 'application/vnd.ecowin.chart'
149
- when '.mmr' then return 'image/vnd.fujixerox.edmics-mmr'
150
- when '.rlc' then return 'image/vnd.fujixerox.edmics-rlc'
151
- when '.exi' then return 'application/exi'
152
- when '.mgz' then return 'application/vnd.proteus.magazine'
153
- when '.epub' then return 'application/epub+zip'
154
- when '.eml' then return 'message/rfc822'
155
- when '.nml' then return 'application/vnd.enliven'
156
- when '.xpr' then return 'application/vnd.is-xpr'
157
- when '.xif' then return 'image/vnd.xiff'
158
- when '.xfdl' then return 'application/vnd.xfdl'
159
- when '.emma' then return 'application/emma+xml'
160
- when '.ez2' then return 'application/vnd.ezpix-album'
161
- when '.ez3' then return 'application/vnd.ezpix-package'
162
- when '.fst' then return 'image/vnd.fst'
163
- when '.fvt' then return 'video/vnd.fvt'
164
- when '.fbs' then return 'image/vnd.fastbidsheet'
165
- when '.fe_launch' then return 'application/vnd.denovo.fcselayout-link'
166
- when '.f4v' then return 'video/x-f4v'
167
- when '.flv' then return 'video/x-flv'
168
- when '.fpx' then return 'image/vnd.fpx'
169
- when '.npx' then return 'image/vnd.net-fpx'
170
- when '.flx' then return 'text/vnd.fmi.flexstor'
171
- when '.fli' then return 'video/x-fli'
172
- when '.ftc' then return 'application/vnd.fluxtime.clip'
173
- when '.fdf' then return 'application/vnd.fdf'
174
- when '.f' then return 'text/x-fortran'
175
- when '.mif' then return 'application/vnd.mif'
176
- when '.fm' then return 'application/vnd.framemaker'
177
- when '.fh' then return 'image/x-freehand'
178
- when '.fsc' then return 'application/vnd.fsc.weblaunch'
179
- when '.fnc' then return 'application/vnd.frogans.fnc'
180
- when '.ltf' then return 'application/vnd.frogans.ltf'
181
- when '.ddd' then return 'application/vnd.fujixerox.ddd'
182
- when '.xdw' then return 'application/vnd.fujixerox.docuworks'
183
- when '.xbd' then return 'application/vnd.fujixerox.docuworks.binder'
184
- when '.oas' then return 'application/vnd.fujitsu.oasys'
185
- when '.oa2' then return 'application/vnd.fujitsu.oasys2'
186
- when '.oa3' then return 'application/vnd.fujitsu.oasys3'
187
- when '.fg5' then return 'application/vnd.fujitsu.oasysgp'
188
- when '.bh2' then return 'application/vnd.fujitsu.oasysprs'
189
- when '.spl' then return 'application/x-futuresplash'
190
- when '.fzs' then return 'application/vnd.fuzzysheet'
191
- when '.g3' then return 'image/g3fax'
192
- when '.gmx' then return 'application/vnd.gmx'
193
- when '.gtw' then return 'model/vnd.gtw'
194
- when '.txd' then return 'application/vnd.genomatix.tuxedo'
195
- when '.ggb' then return 'application/vnd.geogebra.file'
196
- when '.ggt' then return 'application/vnd.geogebra.tool'
197
- when '.gdl' then return 'model/vnd.gdl'
198
- when '.gex' then return 'application/vnd.geometry-explorer'
199
- when '.gxt' then return 'application/vnd.geonext'
200
- when '.g2w' then return 'application/vnd.geoplan'
201
- when '.g3w' then return 'application/vnd.geospace'
202
- when '.gsf' then return 'application/x-font-ghostscript'
203
- when '.bdf' then return 'application/x-font-bdf'
204
- when '.gtar' then return 'application/x-gtar'
205
- when '.texinfo' then return 'application/x-texinfo'
206
- when '.gnumeric' then return 'application/x-gnumeric'
207
- when '.kml' then return 'application/vnd.google-earth.kml+xml'
208
- when '.kmz' then return 'application/vnd.google-earth.kmz'
209
- when '.gqf' then return 'application/vnd.grafeq'
210
- when '.gif' then return 'image/gif'
211
- when '.gv' then return 'text/vnd.graphviz'
212
- when '.gac' then return 'application/vnd.groove-account'
213
- when '.ghf' then return 'application/vnd.groove-help'
214
- when '.gim' then return 'application/vnd.groove-identity-message'
215
- when '.grv' then return 'application/vnd.groove-injector'
216
- when '.gtm' then return 'application/vnd.groove-tool-message'
217
- when '.tpl' then return 'application/vnd.groove-tool-template'
218
- when '.vcg' then return 'application/vnd.groove-vcard'
219
- when '.h261' then return 'video/h261'
220
- when '.h263' then return 'video/h263'
221
- when '.h264' then return 'video/h264'
222
- when '.hpid' then return 'application/vnd.hp-hpid'
223
- when '.hps' then return 'application/vnd.hp-hps'
224
- when '.hdf' then return 'application/x-hdf'
225
- when '.rip' then return 'audio/vnd.rip'
226
- when '.hbci' then return 'application/vnd.hbci'
227
- when '.jlt' then return 'application/vnd.hp-jlyt'
228
- when '.pcl' then return 'application/vnd.hp-pcl'
229
- when '.hpgl' then return 'application/vnd.hp-hpgl'
230
- when '.hvs' then return 'application/vnd.yamaha.hv-script'
231
- when '.hvd' then return 'application/vnd.yamaha.hv-dic'
232
- when '.hvp' then return 'application/vnd.yamaha.hv-voice'
233
- when '.sfd-hdstx' then return 'application/vnd.hydrostatix.sof-data'
234
- when '.stk' then return 'application/hyperstudio'
235
- when '.hal' then return 'application/vnd.hal+xml'
236
- when '.html' then return 'text/html'
237
- when '.irm' then return 'application/vnd.ibm.rights-management'
238
- when '.sc' then return 'application/vnd.ibm.secure-container'
239
- when '.ics' then return 'text/calendar'
240
- when '.icc' then return 'application/vnd.iccprofile'
241
- when '.ico' then return 'image/x-icon'
242
- when '.igl' then return 'application/vnd.igloader'
243
- when '.ief' then return 'image/ief'
244
- when '.ivp' then return 'application/vnd.immervision-ivp'
245
- when '.ivu' then return 'application/vnd.immervision-ivu'
246
- when '.rif' then return 'application/reginfo+xml'
247
- when '.3dml' then return 'text/vnd.in3d.3dml'
248
- when '.spot' then return 'text/vnd.in3d.spot'
249
- when '.igs' then return 'model/iges'
250
- when '.i2g' then return 'application/vnd.intergeo'
251
- when '.cdy' then return 'application/vnd.cinderella'
252
- when '.xpw' then return 'application/vnd.intercon.formnet'
253
- when '.fcs' then return 'application/vnd.isac.fcs'
254
- when '.ipfix' then return 'application/ipfix'
255
- when '.cer' then return 'application/pkix-cert'
256
- when '.pki' then return 'application/pkixcmp'
257
- when '.crl' then return 'application/pkix-crl'
258
- when '.pkipath' then return 'application/pkix-pkipath'
259
- when '.igm' then return 'application/vnd.insors.igm'
260
- when '.rcprofile' then return 'application/vnd.ipunplugged.rcprofile'
261
- when '.irp' then return 'application/vnd.irepository.package+xml'
262
- when '.jad' then return 'text/vnd.sun.j2me.app-descriptor'
263
- when '.jar' then return 'application/java-archive'
264
- when '.class' then return 'application/java-vm'
265
- when '.jnlp' then return 'application/x-java-jnlp-file'
266
- when '.ser' then return 'application/java-serialized-object'
267
- when '.java' then return 'text/x-java-source,java'
268
- when '.js' then return 'application/javascript'
269
- when '.json' then return 'application/json'
270
- when '.joda' then return 'application/vnd.joost.joda-archive'
271
- when '.jpm' then return 'video/jpm'
272
- when '.jpeg, .jpg' then return 'image/jpeg'
273
- when '.jpgv' then return 'video/jpeg'
274
- when '.ktz' then return 'application/vnd.kahootz'
275
- when '.mmd' then return 'application/vnd.chipnuts.karaoke-mmd'
276
- when '.karbon' then return 'application/vnd.kde.karbon'
277
- when '.chrt' then return 'application/vnd.kde.kchart'
278
- when '.kfo' then return 'application/vnd.kde.kformula'
279
- when '.flw' then return 'application/vnd.kde.kivio'
280
- when '.kon' then return 'application/vnd.kde.kontour'
281
- when '.kpr' then return 'application/vnd.kde.kpresenter'
282
- when '.ksp' then return 'application/vnd.kde.kspread'
283
- when '.kwd' then return 'application/vnd.kde.kword'
284
- when '.htke' then return 'application/vnd.kenameaapp'
285
- when '.kia' then return 'application/vnd.kidspiration'
286
- when '.kne' then return 'application/vnd.kinar'
287
- when '.sse' then return 'application/vnd.kodak-descriptor'
288
- when '.lasxml' then return 'application/vnd.las.las+xml'
289
- when '.latex' then return 'application/x-latex'
290
- when '.lbd' then return 'application/vnd.llamagraphics.life-balance.desktop'
291
- when '.lbe' then return 'application/vnd.llamagraphics.life-balance.exchange+xml'
292
- when '.jam' then return 'application/vnd.jam'
293
- when '.123' then return 'application/vnd.lotus-1-2-3'
294
- when '.apr' then return 'application/vnd.lotus-approach'
295
- when '.pre' then return 'application/vnd.lotus-freelance'
296
- when '.nsf' then return 'application/vnd.lotus-notes'
297
- when '.org' then return 'application/vnd.lotus-organizer'
298
- when '.scm' then return 'application/vnd.lotus-screencam'
299
- when '.lwp' then return 'application/vnd.lotus-wordpro'
300
- when '.lvp' then return 'audio/vnd.lucent.voice'
301
- when '.m3u' then return 'audio/x-mpegurl'
302
- when '.m4v' then return 'video/x-m4v'
303
- when '.hqx' then return 'application/mac-binhex40'
304
- when '.portpkg' then return 'application/vnd.macports.portpkg'
305
- when '.mgp' then return 'application/vnd.osgeo.mapguide.package'
306
- when '.mrc' then return 'application/marc'
307
- when '.mrcx' then return 'application/marcxml+xml'
308
- when '.mxf' then return 'application/mxf'
309
- when '.nbp' then return 'application/vnd.wolfram.player'
310
- when '.ma' then return 'application/mathematica'
311
- when '.mathml' then return 'application/mathml+xml'
312
- when '.mbox' then return 'application/mbox'
313
- when '.mc1' then return 'application/vnd.medcalcdata'
314
- when '.mscml' then return 'application/mediaservercontrol+xml'
315
- when '.cdkey' then return 'application/vnd.mediastation.cdkey'
316
- when '.mwf' then return 'application/vnd.mfer'
317
- when '.mfm' then return 'application/vnd.mfmp'
318
- when '.msh' then return 'model/mesh'
319
- when '.mads' then return 'application/mads+xml'
320
- when '.mets' then return 'application/mets+xml'
321
- when '.mods' then return 'application/mods+xml'
322
- when '.meta4' then return 'application/metalink4+xml'
323
- when '.potm' then return 'application/vnd.ms-powerpoint.template.macroenabled.12'
324
- when '.docm' then return 'application/vnd.ms-word.document.macroenabled.12'
325
- when '.dotm' then return 'application/vnd.ms-word.template.macroenabled.12'
326
- when '.mcd' then return 'application/vnd.mcd'
327
- when '.flo' then return 'application/vnd.micrografx.flo'
328
- when '.igx' then return 'application/vnd.micrografx.igx'
329
- when '.es3' then return 'application/vnd.eszigno3+xml'
330
- when '.mdb' then return 'application/x-msaccess'
331
- when '.asf' then return 'video/x-ms-asf'
332
- when '.exe' then return 'application/x-msdownload'
333
- when '.cil' then return 'application/vnd.ms-artgalry'
334
- when '.cab' then return 'application/vnd.ms-cab-compressed'
335
- when '.ims' then return 'application/vnd.ms-ims'
6
+ when '.x3d' then return 'application/vnd.hzn-3d-crossword'
7
+ when '.3gp' then return 'video/3gpp'
8
+ when '.3g2' then return 'video/3gpp2'
9
+ when '.mseq' then return 'application/vnd.mseq'
10
+ when '.pwn' then return 'application/vnd.3m.post-it-notes'
11
+ when '.plb' then return 'application/vnd.3gpp.pic-bw-large'
12
+ when '.psb' then return 'application/vnd.3gpp.pic-bw-small'
13
+ when '.pvb' then return 'application/vnd.3gpp.pic-bw-var'
14
+ when '.tcap' then return 'application/vnd.3gpp2.tcap'
15
+ when '.7z' then return 'application/x-7z-compressed'
16
+ when '.abw' then return 'application/x-abiword'
17
+ when '.ace' then return 'application/x-ace-compressed'
18
+ when '.acc' then return 'application/vnd.americandynamics.acc'
19
+ when '.acu' then return 'application/vnd.acucobol'
20
+ when '.atc' then return 'application/vnd.acucorp'
21
+ when '.adp' then return 'audio/adpcm'
22
+ when '.aab' then return 'application/x-authorware-bin'
23
+ when '.aam' then return 'application/x-authorware-map'
24
+ when '.aas' then return 'application/x-authorware-seg'
25
+ when '.air' then return 'application/vnd.adobe.air-application-installer-package+zip'
26
+ when '.swf' then return 'application/x-shockwave-flash'
27
+ when '.fxp' then return 'application/vnd.adobe.fxp'
28
+ when '.pdf' then return 'application/pdf'
29
+ when '.ppd' then return 'application/vnd.cups-ppd'
30
+ when '.dir' then return 'application/x-director'
31
+ when '.xdp' then return 'application/vnd.adobe.xdp+xml'
32
+ when '.xfdf' then return 'application/vnd.adobe.xfdf'
33
+ when '.aac' then return 'audio/x-aac'
34
+ when '.ahead' then return 'application/vnd.ahead.space'
35
+ when '.azf' then return 'application/vnd.airzip.filesecure.azf'
36
+ when '.azs' then return 'application/vnd.airzip.filesecure.azs'
37
+ when '.azw' then return 'application/vnd.amazon.ebook'
38
+ when '.ami' then return 'application/vnd.amiga.ami'
39
+ when '.apk' then return 'application/vnd.android.package-archive'
40
+ when '.cii' then return 'application/vnd.anser-web-certificate-issue-initiation'
41
+ when '.fti' then return 'application/vnd.anser-web-funds-transfer-initiation'
42
+ when '.atx' then return 'application/vnd.antix.game-component'
43
+ when '.mpkg' then return 'application/vnd.apple.installer+xml'
44
+ when '.aw' then return 'application/applixware'
45
+ when '.les' then return 'application/vnd.hhe.lesson-player'
46
+ when '.swi' then return 'application/vnd.aristanetworks.swi'
47
+ when '.s' then return 'text/x-asm'
48
+ when '.atomcat' then return 'application/atomcat+xml'
49
+ when '.atomsvc' then return 'application/atomsvc+xml'
50
+ when '.atom' then return'application/atom+xml'
51
+ when '.xml' then return 'application/atom+xml'
52
+ when '.ac' then return 'application/pkix-attr-cert'
53
+ when '.aif' then return 'audio/x-aiff'
54
+ when '.avi' then return 'video/x-msvideo'
55
+ when '.aep' then return 'application/vnd.audiograph'
56
+ when '.dxf' then return 'image/vnd.dxf'
57
+ when '.dwf' then return 'model/vnd.dwf'
58
+ when '.par' then return 'text/plain-bas'
59
+ when '.bcpio' then return 'application/x-bcpio'
60
+ when '.bin' then return 'application/octet-stream'
61
+ when '.bmp' then return 'image/bmp'
62
+ when '.torrent' then return 'application/x-bittorrent'
63
+ when '.cod' then return 'application/vnd.rim.cod'
64
+ when '.mpm' then return 'application/vnd.blueice.multipass'
65
+ when '.bmi' then return 'application/vnd.bmi'
66
+ when '.sh' then return 'application/x-sh'
67
+ when '.btif' then return 'image/prs.btif'
68
+ when '.rep' then return 'application/vnd.businessobjects'
69
+ when '.bz' then return 'application/x-bzip'
70
+ when '.bz2' then return 'application/x-bzip2'
71
+ when '.csh' then return 'application/x-csh'
72
+ when '.c' then return 'text/x-c'
73
+ when '.cdxml' then return 'application/vnd.chemdraw+xml'
74
+ when '.css' then return 'text/css'
75
+ when '.cdx' then return 'chemical/x-cdx'
76
+ when '.cml' then return 'chemical/x-cml'
77
+ when '.csml' then return 'chemical/x-csml'
78
+ when '.cdbcmsg' then return 'application/vnd.contact.cmsg'
79
+ when '.cla' then return 'application/vnd.claymore'
80
+ when '.c4g' then return 'application/vnd.clonk.c4group'
81
+ when '.sub' then return 'image/vnd.dvb.subtitle'
82
+ when '.cdmia' then return 'application/cdmi-capability'
83
+ when '.cdmic' then return 'application/cdmi-container'
84
+ when '.cdmid' then return 'application/cdmi-domain'
85
+ when '.cdmio' then return 'application/cdmi-object'
86
+ when '.cdmiq' then return 'application/cdmi-queue'
87
+ when '.c11amc' then return 'application/vnd.cluetrust.cartomobile-config'
88
+ when '.c11amz' then return 'application/vnd.cluetrust.cartomobile-config-pkg'
89
+ when '.ras' then return 'image/x-cmu-raster'
90
+ when '.dae' then return 'model/vnd.collada+xml'
91
+ when '.csv' then return 'text/csv'
92
+ when '.cpt' then return 'application/mac-compactpro'
93
+ when '.wmlc' then return 'application/vnd.wap.wmlc'
94
+ when '.cgm' then return 'image/cgm'
95
+ when '.ice' then return 'x-conference/x-cooltalk'
96
+ when '.cmx' then return 'image/x-cmx'
97
+ when '.xar' then return 'application/vnd.xara'
98
+ when '.cmc' then return 'application/vnd.cosmocaller'
99
+ when '.cpio' then return 'application/x-cpio'
100
+ when '.clkx' then return 'application/vnd.crick.clicker'
101
+ when '.clkk' then return 'application/vnd.crick.clicker.keyboard'
102
+ when '.clkp' then return 'application/vnd.crick.clicker.palette'
103
+ when '.clkt' then return 'application/vnd.crick.clicker.template'
104
+ when '.clkw' then return 'application/vnd.crick.clicker.wordbank'
105
+ when '.wbs' then return 'application/vnd.criticaltools.wbs+xml'
106
+ when '.cryptonote' then return 'application/vnd.rig.cryptonote'
107
+ when '.cif' then return 'chemical/x-cif'
108
+ when '.cmdf' then return 'chemical/x-cmdf'
109
+ when '.cu' then return 'application/cu-seeme'
110
+ when '.cww' then return 'application/prs.cww'
111
+ when '.curl' then return 'text/vnd.curl'
112
+ when '.dcurl' then return 'text/vnd.curl.dcurl'
113
+ when '.mcurl' then return 'text/vnd.curl.mcurl'
114
+ when '.scurl' then return 'text/vnd.curl.scurl'
115
+ when '.car' then return 'application/vnd.curl.car'
116
+ when '.pcurl' then return 'application/vnd.curl.pcurl'
117
+ when '.cmp' then return 'application/vnd.yellowriver-custom-menu'
118
+ when '.dssc' then return 'application/dssc+der'
119
+ when '.xdssc' then return 'application/dssc+xml'
120
+ when '.deb' then return 'application/x-debian-package'
121
+ when '.uva' then return 'audio/vnd.dece.audio'
122
+ when '.uvi' then return 'image/vnd.dece.graphic'
123
+ when '.uvh' then return 'video/vnd.dece.hd'
124
+ when '.uvm' then return 'video/vnd.dece.mobile'
125
+ when '.uvu' then return 'video/vnd.uvvu.mp4'
126
+ when '.uvp' then return 'video/vnd.dece.pd'
127
+ when '.uvs' then return 'video/vnd.dece.sd'
128
+ when '.uvv' then return 'video/vnd.dece.video'
129
+ when '.dvi' then return 'application/x-dvi'
130
+ when '.seed' then return 'application/vnd.fdsn.seed'
131
+ when '.dtb' then return 'application/x-dtbook+xml'
132
+ when '.res' then return 'application/x-dtbresource+xml'
133
+ when '.ait' then return 'application/vnd.dvb.ait'
134
+ when '.svc' then return 'application/vnd.dvb.service'
135
+ when '.eol' then return 'audio/vnd.digital-winds'
136
+ when '.djvu' then return 'image/vnd.djvu'
137
+ when '.dtd' then return 'application/xml-dtd'
138
+ when '.mlp' then return 'application/vnd.dolby.mlp'
139
+ when '.wad' then return 'application/x-doom'
140
+ when '.dpg' then return 'application/vnd.dpgraph'
141
+ when '.dra' then return 'audio/vnd.dra'
142
+ when '.dfac' then return 'application/vnd.dreamfactory'
143
+ when '.dts' then return 'audio/vnd.dts'
144
+ when '.dtshd' then return 'audio/vnd.dts.hd'
145
+ when '.dwg' then return 'image/vnd.dwg'
146
+ when '.geo' then return 'application/vnd.dynageo'
147
+ when '.es' then return 'application/ecmascript'
148
+ when '.mag' then return 'application/vnd.ecowin.chart'
149
+ when '.mmr' then return 'image/vnd.fujixerox.edmics-mmr'
150
+ when '.rlc' then return 'image/vnd.fujixerox.edmics-rlc'
151
+ when '.exi' then return 'application/exi'
152
+ when '.mgz' then return 'application/vnd.proteus.magazine'
153
+ when '.epub' then return 'application/epub+zip'
154
+ when '.eml' then return 'message/rfc822'
155
+ when '.nml' then return 'application/vnd.enliven'
156
+ when '.xpr' then return 'application/vnd.is-xpr'
157
+ when '.xif' then return 'image/vnd.xiff'
158
+ when '.xfdl' then return 'application/vnd.xfdl'
159
+ when '.emma' then return 'application/emma+xml'
160
+ when '.ez2' then return 'application/vnd.ezpix-album'
161
+ when '.ez3' then return 'application/vnd.ezpix-package'
162
+ when '.fst' then return 'image/vnd.fst'
163
+ when '.fvt' then return 'video/vnd.fvt'
164
+ when '.fbs' then return 'image/vnd.fastbidsheet'
165
+ when '.fe_launch' then return 'application/vnd.denovo.fcselayout-link'
166
+ when '.f4v' then return 'video/x-f4v'
167
+ when '.flv' then return 'video/x-flv'
168
+ when '.fpx' then return 'image/vnd.fpx'
169
+ when '.npx' then return 'image/vnd.net-fpx'
170
+ when '.flx' then return 'text/vnd.fmi.flexstor'
171
+ when '.fli' then return 'video/x-fli'
172
+ when '.ftc' then return 'application/vnd.fluxtime.clip'
173
+ when '.fdf' then return 'application/vnd.fdf'
174
+ when '.f' then return 'text/x-fortran'
175
+ when '.mif' then return 'application/vnd.mif'
176
+ when '.fm' then return 'application/vnd.framemaker'
177
+ when '.fh' then return 'image/x-freehand'
178
+ when '.fsc' then return 'application/vnd.fsc.weblaunch'
179
+ when '.fnc' then return 'application/vnd.frogans.fnc'
180
+ when '.ltf' then return 'application/vnd.frogans.ltf'
181
+ when '.ddd' then return 'application/vnd.fujixerox.ddd'
182
+ when '.xdw' then return 'application/vnd.fujixerox.docuworks'
183
+ when '.xbd' then return 'application/vnd.fujixerox.docuworks.binder'
184
+ when '.oas' then return 'application/vnd.fujitsu.oasys'
185
+ when '.oa2' then return 'application/vnd.fujitsu.oasys2'
186
+ when '.oa3' then return 'application/vnd.fujitsu.oasys3'
187
+ when '.fg5' then return 'application/vnd.fujitsu.oasysgp'
188
+ when '.bh2' then return 'application/vnd.fujitsu.oasysprs'
189
+ when '.spl' then return 'application/x-futuresplash'
190
+ when '.fzs' then return 'application/vnd.fuzzysheet'
191
+ when '.g3' then return 'image/g3fax'
192
+ when '.gmx' then return 'application/vnd.gmx'
193
+ when '.gtw' then return 'model/vnd.gtw'
194
+ when '.txd' then return 'application/vnd.genomatix.tuxedo'
195
+ when '.ggb' then return 'application/vnd.geogebra.file'
196
+ when '.ggt' then return 'application/vnd.geogebra.tool'
197
+ when '.gdl' then return 'model/vnd.gdl'
198
+ when '.gex' then return 'application/vnd.geometry-explorer'
199
+ when '.gxt' then return 'application/vnd.geonext'
200
+ when '.g2w' then return 'application/vnd.geoplan'
201
+ when '.g3w' then return 'application/vnd.geospace'
202
+ when '.gsf' then return 'application/x-font-ghostscript'
203
+ when '.bdf' then return 'application/x-font-bdf'
204
+ when '.gtar' then return 'application/x-gtar'
205
+ when '.texinfo' then return 'application/x-texinfo'
206
+ when '.gnumeric' then return 'application/x-gnumeric'
207
+ when '.kml' then return 'application/vnd.google-earth.kml+xml'
208
+ when '.kmz' then return 'application/vnd.google-earth.kmz'
209
+ when '.gqf' then return 'application/vnd.grafeq'
210
+ when '.gif' then return 'image/gif'
211
+ when '.gv' then return 'text/vnd.graphviz'
212
+ when '.gac' then return 'application/vnd.groove-account'
213
+ when '.ghf' then return 'application/vnd.groove-help'
214
+ when '.gim' then return 'application/vnd.groove-identity-message'
215
+ when '.grv' then return 'application/vnd.groove-injector'
216
+ when '.gtm' then return 'application/vnd.groove-tool-message'
217
+ when '.tpl' then return 'application/vnd.groove-tool-template'
218
+ when '.vcg' then return 'application/vnd.groove-vcard'
219
+ when '.h261' then return 'video/h261'
220
+ when '.h263' then return 'video/h263'
221
+ when '.h264' then return 'video/h264'
222
+ when '.hpid' then return 'application/vnd.hp-hpid'
223
+ when '.hps' then return 'application/vnd.hp-hps'
224
+ when '.hdf' then return 'application/x-hdf'
225
+ when '.rip' then return 'audio/vnd.rip'
226
+ when '.hbci' then return 'application/vnd.hbci'
227
+ when '.jlt' then return 'application/vnd.hp-jlyt'
228
+ when '.pcl' then return 'application/vnd.hp-pcl'
229
+ when '.hpgl' then return 'application/vnd.hp-hpgl'
230
+ when '.hvs' then return 'application/vnd.yamaha.hv-script'
231
+ when '.hvd' then return 'application/vnd.yamaha.hv-dic'
232
+ when '.hvp' then return 'application/vnd.yamaha.hv-voice'
233
+ when '.sfd-hdstx' then return 'application/vnd.hydrostatix.sof-data'
234
+ when '.stk' then return 'application/hyperstudio'
235
+ when '.hal' then return 'application/vnd.hal+xml'
236
+ when '.html' then return 'text/html'
237
+ when '.irm' then return 'application/vnd.ibm.rights-management'
238
+ when '.sc' then return 'application/vnd.ibm.secure-container'
239
+ when '.ics' then return 'text/calendar'
240
+ when '.icc' then return 'application/vnd.iccprofile'
241
+ when '.ico' then return 'image/x-icon'
242
+ when '.igl' then return 'application/vnd.igloader'
243
+ when '.ief' then return 'image/ief'
244
+ when '.ivp' then return 'application/vnd.immervision-ivp'
245
+ when '.ivu' then return 'application/vnd.immervision-ivu'
246
+ when '.rif' then return 'application/reginfo+xml'
247
+ when '.3dml' then return 'text/vnd.in3d.3dml'
248
+ when '.spot' then return 'text/vnd.in3d.spot'
249
+ when '.igs' then return 'model/iges'
250
+ when '.i2g' then return 'application/vnd.intergeo'
251
+ when '.cdy' then return 'application/vnd.cinderella'
252
+ when '.xpw' then return 'application/vnd.intercon.formnet'
253
+ when '.fcs' then return 'application/vnd.isac.fcs'
254
+ when '.ipfix' then return 'application/ipfix'
255
+ when '.cer' then return 'application/pkix-cert'
256
+ when '.pki' then return 'application/pkixcmp'
257
+ when '.crl' then return 'application/pkix-crl'
258
+ when '.pkipath' then return 'application/pkix-pkipath'
259
+ when '.igm' then return 'application/vnd.insors.igm'
260
+ when '.rcprofile' then return 'application/vnd.ipunplugged.rcprofile'
261
+ when '.irp' then return 'application/vnd.irepository.package+xml'
262
+ when '.jad' then return 'text/vnd.sun.j2me.app-descriptor'
263
+ when '.jar' then return 'application/java-archive'
264
+ when '.class' then return 'application/java-vm'
265
+ when '.jnlp' then return 'application/x-java-jnlp-file'
266
+ when '.ser' then return 'application/java-serialized-object'
267
+ when '.java' then return 'text/x-java-source,java'
268
+ when '.js' then return 'application/javascript'
269
+ when '.json' then return 'application/json'
270
+ when '.joda' then return 'application/vnd.joost.joda-archive'
271
+ when '.jpm' then return 'video/jpm'
272
+ when '.jpeg' then return 'image/jpeg'
273
+ when '.jpg' then return 'image/jpeg'
274
+ when '.jpgv' then return 'video/jpeg'
275
+ when '.ktz' then return 'application/vnd.kahootz'
276
+ when '.mmd' then return 'application/vnd.chipnuts.karaoke-mmd'
277
+ when '.karbon' then return 'application/vnd.kde.karbon'
278
+ when '.chrt' then return 'application/vnd.kde.kchart'
279
+ when '.kfo' then return 'application/vnd.kde.kformula'
280
+ when '.flw' then return 'application/vnd.kde.kivio'
281
+ when '.kon' then return 'application/vnd.kde.kontour'
282
+ when '.kpr' then return 'application/vnd.kde.kpresenter'
283
+ when '.ksp' then return 'application/vnd.kde.kspread'
284
+ when '.kwd' then return 'application/vnd.kde.kword'
285
+ when '.htke' then return 'application/vnd.kenameaapp'
286
+ when '.kia' then return 'application/vnd.kidspiration'
287
+ when '.kne' then return 'application/vnd.kinar'
288
+ when '.sse' then return 'application/vnd.kodak-descriptor'
289
+ when '.lasxml' then return 'application/vnd.las.las+xml'
290
+ when '.latex' then return 'application/x-latex'
291
+ when '.lbd' then return 'application/vnd.llamagraphics.life-balance.desktop'
292
+ when '.lbe' then return 'application/vnd.llamagraphics.life-balance.exchange+xml'
293
+ when '.jam' then return 'application/vnd.jam'
294
+ when '.123' then return 'application/vnd.lotus-1-2-3'
295
+ when '.apr' then return 'application/vnd.lotus-approach'
296
+ when '.pre' then return 'application/vnd.lotus-freelance'
297
+ when '.nsf' then return 'application/vnd.lotus-notes'
298
+ when '.org' then return 'application/vnd.lotus-organizer'
299
+ when '.scm' then return 'application/vnd.lotus-screencam'
300
+ when '.lwp' then return 'application/vnd.lotus-wordpro'
301
+ when '.lvp' then return 'audio/vnd.lucent.voice'
302
+ when '.m3u' then return 'audio/x-mpegurl'
303
+ when '.m4v' then return 'video/x-m4v'
304
+ when '.hqx' then return 'application/mac-binhex40'
305
+ when '.portpkg' then return 'application/vnd.macports.portpkg'
306
+ when '.mgp' then return 'application/vnd.osgeo.mapguide.package'
307
+ when '.mrc' then return 'application/marc'
308
+ when '.mrcx' then return 'application/marcxml+xml'
309
+ when '.mxf' then return 'application/mxf'
310
+ when '.nbp' then return 'application/vnd.wolfram.player'
311
+ when '.ma' then return 'application/mathematica'
312
+ when '.mathml' then return 'application/mathml+xml'
313
+ when '.mbox' then return 'application/mbox'
314
+ when '.mc1' then return 'application/vnd.medcalcdata'
315
+ when '.mscml' then return 'application/mediaservercontrol+xml'
316
+ when '.cdkey' then return 'application/vnd.mediastation.cdkey'
317
+ when '.mwf' then return 'application/vnd.mfer'
318
+ when '.mfm' then return 'application/vnd.mfmp'
319
+ when '.msh' then return 'model/mesh'
320
+ when '.mads' then return 'application/mads+xml'
321
+ when '.mets' then return 'application/mets+xml'
322
+ when '.mods' then return 'application/mods+xml'
323
+ when '.meta4' then return 'application/metalink4+xml'
324
+ when '.potm' then return 'application/vnd.ms-powerpoint.template.macroenabled.12'
325
+ when '.docm' then return 'application/vnd.ms-word.document.macroenabled.12'
326
+ when '.dotm' then return 'application/vnd.ms-word.template.macroenabled.12'
327
+ when '.mcd' then return 'application/vnd.mcd'
328
+ when '.flo' then return 'application/vnd.micrografx.flo'
329
+ when '.igx' then return 'application/vnd.micrografx.igx'
330
+ when '.es3' then return 'application/vnd.eszigno3+xml'
331
+ when '.mdb' then return 'application/x-msaccess'
332
+ when '.asf' then return 'video/x-ms-asf'
333
+ when '.exe' then return 'application/x-msdownload'
334
+ when '.cil' then return 'application/vnd.ms-artgalry'
335
+ when '.cab' then return 'application/vnd.ms-cab-compressed'
336
+ when '.ims' then return 'application/vnd.ms-ims'
336
337
  when '.application' then return 'application/x-ms-application'
337
- when '.clp' then return 'application/x-msclip'
338
- when '.mdi' then return 'image/vnd.ms-modi'
339
- when '.eot' then return 'application/vnd.ms-fontobject'
340
- when '.xls' then return 'application/vnd.ms-excel'
341
- when '.xlam' then return 'application/vnd.ms-excel.addin.macroenabled.12'
342
- when '.xlsb' then return 'application/vnd.ms-excel.sheet.binary.macroenabled.12'
343
- when '.xltm' then return 'application/vnd.ms-excel.template.macroenabled.12'
344
- when '.xlsm' then return 'application/vnd.ms-excel.sheet.macroenabled.12'
345
- when '.chm' then return 'application/vnd.ms-htmlhelp'
346
- when '.crd' then return 'application/x-mscardfile'
347
- when '.lrm' then return 'application/vnd.ms-lrm'
348
- when '.mvb' then return 'application/x-msmediaview'
349
- when '.mny' then return 'application/x-msmoney'
350
- when '.pptx' then return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
351
- when '.sldx' then return 'application/vnd.openxmlformats-officedocument.presentationml.slide'
352
- when '.ppsx' then return 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'
353
- when '.potx' then return 'application/vnd.openxmlformats-officedocument.presentationml.template'
354
- when '.xlsx' then return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
355
- when '.xltx' then return 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'
356
- when '.docx' then return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
357
- when '.dotx' then return 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'
358
- when '.obd' then return 'application/x-msbinder'
359
- when '.thmx' then return 'application/vnd.ms-officetheme'
360
- when '.onetoc' then return 'application/onenote'
361
- when '.pya' then return 'audio/vnd.ms-playready.media.pya'
362
- when '.pyv' then return 'video/vnd.ms-playready.media.pyv'
363
- when '.ppt' then return 'application/vnd.ms-powerpoint'
364
- when '.ppam' then return 'application/vnd.ms-powerpoint.addin.macroenabled.12'
365
- when '.sldm' then return 'application/vnd.ms-powerpoint.slide.macroenabled.12'
366
- when '.pptm' then return 'application/vnd.ms-powerpoint.presentation.macroenabled.12'
367
- when '.ppsm' then return 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'
368
- when '.mpp' then return 'application/vnd.ms-project'
369
- when '.pub' then return 'application/x-mspublisher'
370
- when '.scd' then return 'application/x-msschedule'
371
- when '.xap' then return 'application/x-silverlight-app'
372
- when '.stl' then return 'application/vnd.ms-pki.stl'
373
- when '.cat' then return 'application/vnd.ms-pki.seccat'
374
- when '.vsd' then return 'application/vnd.visio'
375
- when '.wm' then return 'video/x-ms-wm'
376
- when '.wma' then return 'audio/x-ms-wma'
377
- when '.wax' then return 'audio/x-ms-wax'
378
- when '.wmx' then return 'video/x-ms-wmx'
379
- when '.wmd' then return 'application/x-ms-wmd'
380
- when '.wpl' then return 'application/vnd.ms-wpl'
381
- when '.wmz' then return 'application/x-ms-wmz'
382
- when '.wmv' then return 'video/x-ms-wmv'
383
- when '.wvx' then return 'video/x-ms-wvx'
384
- when '.wmf' then return 'application/x-msmetafile'
385
- when '.trm' then return 'application/x-msterminal'
386
- when '.doc' then return 'application/msword'
387
- when '.wri' then return 'application/x-mswrite'
388
- when '.wps' then return 'application/vnd.ms-works'
389
- when '.xbap' then return 'application/x-ms-xbap'
390
- when '.xps' then return 'application/vnd.ms-xpsdocument'
391
- when '.mid' then return 'audio/midi'
392
- when '.mpy' then return 'application/vnd.ibm.minipay'
393
- when '.afp' then return 'application/vnd.ibm.modcap'
394
- when '.rms' then return 'application/vnd.jcp.javame.midlet-rms'
395
- when '.tmo' then return 'application/vnd.tmobile-livetv'
396
- when '.prc' then return 'application/x-mobipocket-ebook'
397
- when '.mbk' then return 'application/vnd.mobius.mbk'
398
- when '.dis' then return 'application/vnd.mobius.dis'
399
- when '.plc' then return 'application/vnd.mobius.plc'
400
- when '.mqy' then return 'application/vnd.mobius.mqy'
401
- when '.msl' then return 'application/vnd.mobius.msl'
402
- when '.txf' then return 'application/vnd.mobius.txf'
403
- when '.daf' then return 'application/vnd.mobius.daf'
404
- when '.fly' then return 'text/vnd.fly'
405
- when '.mpc' then return 'application/vnd.mophun.certificate'
406
- when '.mpn' then return 'application/vnd.mophun.application'
407
- when '.mj2' then return 'video/mj2'
408
- when '.mpga' then return 'audio/mpeg'
409
- when '.mxu' then return 'video/vnd.mpegurl'
410
- when '.mpeg' then return 'video/mpeg'
411
- when '.m21' then return 'application/mp21'
412
- when '.mp4a' then return 'audio/mp4'
413
- when '.mp4' then return 'video/mp4'
414
- when '.mp4' then return 'application/mp4'
415
- when '.m3u8' then return 'application/vnd.apple.mpegurl'
416
- when '.mus' then return 'application/vnd.musician'
417
- when '.msty' then return 'application/vnd.muvee.style'
418
- when '.mxml' then return 'application/xv+xml'
419
- when '.ngdat' then return 'application/vnd.nokia.n-gage.data'
420
- when '.n-gage' then return 'application/vnd.nokia.n-gage.symbian.install'
421
- when '.ncx' then return 'application/x-dtbncx+xml'
422
- when '.nc' then return 'application/x-netcdf'
423
- when '.nlu' then return 'application/vnd.neurolanguage.nlu'
424
- when '.dna' then return 'application/vnd.dna'
425
- when '.nnd' then return 'application/vnd.noblenet-directory'
426
- when '.nns' then return 'application/vnd.noblenet-sealer'
427
- when '.nnw' then return 'application/vnd.noblenet-web'
428
- when '.rpst' then return 'application/vnd.nokia.radio-preset'
429
- when '.rpss' then return 'application/vnd.nokia.radio-presets'
430
- when '.n3' then return 'text/n3'
431
- when '.edm' then return 'application/vnd.novadigm.edm'
432
- when '.edx' then return 'application/vnd.novadigm.edx'
433
- when '.ext' then return 'application/vnd.novadigm.ext'
434
- when '.gph' then return 'application/vnd.flographit'
435
- when '.ecelp4800' then return 'audio/vnd.nuera.ecelp4800'
436
- when '.ecelp7470' then return 'audio/vnd.nuera.ecelp7470'
437
- when '.ecelp9600' then return 'audio/vnd.nuera.ecelp9600'
438
- when '.oda' then return 'application/oda'
439
- when '.ogx' then return 'application/ogg'
440
- when '.oga' then return 'audio/ogg'
441
- when '.ogv' then return 'video/ogg'
442
- when '.dd2' then return 'application/vnd.oma.dd2+xml'
443
- when '.oth' then return 'application/vnd.oasis.opendocument.text-web'
444
- when '.opf' then return 'application/oebps-package+xml'
445
- when '.qbo' then return 'application/vnd.intu.qbo'
446
- when '.oxt' then return 'application/vnd.openofficeorg.extension'
447
- when '.osf' then return 'application/vnd.yamaha.openscoreformat'
448
- when '.weba' then return 'audio/webm'
449
- when '.webm' then return 'video/webm'
450
- when '.odc' then return 'application/vnd.oasis.opendocument.chart'
451
- when '.otc' then return 'application/vnd.oasis.opendocument.chart-template'
452
- when '.odb' then return 'application/vnd.oasis.opendocument.database'
453
- when '.odf' then return 'application/vnd.oasis.opendocument.formula'
454
- when '.odft' then return 'application/vnd.oasis.opendocument.formula-template'
455
- when '.odg' then return 'application/vnd.oasis.opendocument.graphics'
456
- when '.otg' then return 'application/vnd.oasis.opendocument.graphics-template'
457
- when '.odi' then return 'application/vnd.oasis.opendocument.image'
458
- when '.oti' then return 'application/vnd.oasis.opendocument.image-template'
459
- when '.odp' then return 'application/vnd.oasis.opendocument.presentation'
460
- when '.otp' then return 'application/vnd.oasis.opendocument.presentation-template'
461
- when '.ods' then return 'application/vnd.oasis.opendocument.spreadsheet'
462
- when '.ots' then return 'application/vnd.oasis.opendocument.spreadsheet-template'
463
- when '.odt' then return 'application/vnd.oasis.opendocument.text'
464
- when '.odm' then return 'application/vnd.oasis.opendocument.text-master'
465
- when '.ott' then return 'application/vnd.oasis.opendocument.text-template'
466
- when '.ktx' then return 'image/ktx'
467
- when '.sxc' then return 'application/vnd.sun.xml.calc'
468
- when '.stc' then return 'application/vnd.sun.xml.calc.template'
469
- when '.sxd' then return 'application/vnd.sun.xml.draw'
470
- when '.std' then return 'application/vnd.sun.xml.draw.template'
471
- when '.sxi' then return 'application/vnd.sun.xml.impress'
472
- when '.sti' then return 'application/vnd.sun.xml.impress.template'
473
- when '.sxm' then return 'application/vnd.sun.xml.math'
474
- when '.sxw' then return 'application/vnd.sun.xml.writer'
475
- when '.sxg' then return 'application/vnd.sun.xml.writer.global'
476
- when '.stw' then return 'application/vnd.sun.xml.writer.template'
477
- when '.otf' then return 'application/x-font-otf'
478
- when '.osfpvg' then return 'application/vnd.yamaha.openscoreformat.osfpvg+xml'
479
- when '.dp' then return 'application/vnd.osgi.dp'
480
- when '.pdb' then return 'application/vnd.palm'
481
- when '.p' then return 'text/x-pascal'
482
- when '.paw' then return 'application/vnd.pawaafile'
483
- when '.pclxl' then return 'application/vnd.hp-pclxl'
484
- when '.efif' then return 'application/vnd.picsel'
485
- when '.pcx' then return 'image/x-pcx'
486
- when '.psd' then return 'image/vnd.adobe.photoshop'
487
- when '.prf' then return 'application/pics-rules'
488
- when '.pic' then return 'image/x-pict'
489
- when '.chat' then return 'application/x-chat'
490
- when '.p10' then return 'application/pkcs10'
491
- when '.p12' then return 'application/x-pkcs12'
492
- when '.p7m' then return 'application/pkcs7-mime'
493
- when '.p7s' then return 'application/pkcs7-signature'
494
- when '.p7r' then return 'application/x-pkcs7-certreqresp'
495
- when '.p7b' then return 'application/x-pkcs7-certificates'
496
- when '.p8' then return 'application/pkcs8'
497
- when '.plf' then return 'application/vnd.pocketlearn'
498
- when '.pnm' then return 'image/x-portable-anymap'
499
- when '.pbm' then return 'image/x-portable-bitmap'
500
- when '.pcf' then return 'application/x-font-pcf'
501
- when '.pfr' then return 'application/font-tdpfr'
502
- when '.pgn' then return 'application/x-chess-pgn'
503
- when '.pgm' then return 'image/x-portable-graymap'
504
- when '.png' then return 'image/png'
505
- when '.ppm' then return 'image/x-portable-pixmap'
506
- when '.pskcxml' then return 'application/pskc+xml'
507
- when '.pml' then return 'application/vnd.ctc-posml'
508
- when '.ai' then return 'application/postscript'
509
- when '.pfa' then return 'application/x-font-type1'
510
- when '.pbd' then return 'application/vnd.powerbuilder6'
511
- when '' then return 'application/pgp-encrypted'
512
- when '.pgp' then return 'application/pgp-signature'
513
- when '.box' then return 'application/vnd.previewsystems.box'
514
- when '.ptid' then return 'application/vnd.pvi.ptid1'
515
- when '.pls' then return 'application/pls+xml'
516
- when '.str' then return 'application/vnd.pg.format'
517
- when '.ei6' then return 'application/vnd.pg.osasli'
518
- when '.dsc' then return 'text/prs.lines.tag'
519
- when '.psf' then return 'application/x-font-linux-psf'
520
- when '.qps' then return 'application/vnd.publishare-delta-tree'
521
- when '.wg' then return 'application/vnd.pmi.widget'
522
- when '.qxd' then return 'application/vnd.quark.quarkxpress'
523
- when '.esf' then return 'application/vnd.epson.esf'
524
- when '.msf' then return 'application/vnd.epson.msf'
525
- when '.ssf' then return 'application/vnd.epson.ssf'
526
- when '.qam' then return 'application/vnd.epson.quickanime'
527
- when '.qfx' then return 'application/vnd.intu.qfx'
528
- when '.qt' then return 'video/quicktime'
529
- when '.rar' then return 'application/x-rar-compressed'
530
- when '.ram' then return 'audio/x-pn-realaudio'
531
- when '.rmp' then return 'audio/x-pn-realaudio-plugin'
532
- when '.rsd' then return 'application/rsd+xml'
533
- when '.rm' then return 'application/vnd.rn-realmedia'
534
- when '.bed' then return 'application/vnd.realvnc.bed'
535
- when '.mxl' then return 'application/vnd.recordare.musicxml'
536
- when '.musicxml' then return 'application/vnd.recordare.musicxml+xml'
537
- when '.rnc' then return 'application/relax-ng-compact-syntax'
538
- when '.rdz' then return 'application/vnd.data-vision.rdz'
539
- when '.rdf' then return 'application/rdf+xml'
540
- when '.rp9' then return 'application/vnd.cloanto.rp9'
541
- when '.jisp' then return 'application/vnd.jisp'
542
- when '.rtf' then return 'application/rtf'
543
- when '.rtx' then return 'text/richtext'
544
- when '.link66' then return 'application/vnd.route66.link66+xml'
545
- when '.rss, .xml' then return 'application/rss+xml'
546
- when '.shf' then return 'application/shf+xml'
547
- when '.st' then return 'application/vnd.sailingtracker.track'
548
- when '.svg' then return 'image/svg+xml'
549
- when '.sus' then return 'application/vnd.sus-calendar'
550
- when '.sru' then return 'application/sru+xml'
551
- when '.setpay' then return 'application/set-payment-initiation'
552
- when '.setreg' then return 'application/set-registration-initiation'
553
- when '.sema' then return 'application/vnd.sema'
554
- when '.semd' then return 'application/vnd.semd'
555
- when '.semf' then return 'application/vnd.semf'
556
- when '.see' then return 'application/vnd.seemail'
557
- when '.snf' then return 'application/x-font-snf'
558
- when '.spq' then return 'application/scvp-vp-request'
559
- when '.spp' then return 'application/scvp-vp-response'
560
- when '.scq' then return 'application/scvp-cv-request'
561
- when '.scs' then return 'application/scvp-cv-response'
562
- when '.sdp' then return 'application/sdp'
563
- when '.etx' then return 'text/x-setext'
564
- when '.movie' then return 'video/x-sgi-movie'
565
- when '.ifm' then return 'application/vnd.shana.informed.formdata'
566
- when '.itp' then return 'application/vnd.shana.informed.formtemplate'
567
- when '.iif' then return 'application/vnd.shana.informed.interchange'
568
- when '.ipk' then return 'application/vnd.shana.informed.package'
569
- when '.tfi' then return 'application/thraud+xml'
570
- when '.shar' then return 'application/x-shar'
571
- when '.rgb' then return 'image/x-rgb'
572
- when '.slt' then return 'application/vnd.epson.salt'
573
- when '.aso' then return 'application/vnd.accpac.simply.aso'
574
- when '.imp' then return 'application/vnd.accpac.simply.imp'
575
- when '.twd' then return 'application/vnd.simtech-mindmapper'
576
- when '.csp' then return 'application/vnd.commonspace'
577
- when '.saf' then return 'application/vnd.yamaha.smaf-audio'
578
- when '.mmf' then return 'application/vnd.smaf'
579
- when '.spf' then return 'application/vnd.yamaha.smaf-phrase'
580
- when '.teacher' then return 'application/vnd.smart.teacher'
581
- when '.svd' then return 'application/vnd.svd'
582
- when '.rq' then return 'application/sparql-query'
583
- when '.srx' then return 'application/sparql-results+xml'
584
- when '.gram' then return 'application/srgs'
585
- when '.grxml' then return 'application/srgs+xml'
586
- when '.ssml' then return 'application/ssml+xml'
587
- when '.skp' then return 'application/vnd.koan'
588
- when '.sgml' then return 'text/sgml'
589
- when '.sdc' then return 'application/vnd.stardivision.calc'
590
- when '.sda' then return 'application/vnd.stardivision.draw'
591
- when '.sdd' then return 'application/vnd.stardivision.impress'
592
- when '.smf' then return 'application/vnd.stardivision.math'
593
- when '.sdw' then return 'application/vnd.stardivision.writer'
594
- when '.sgl' then return 'application/vnd.stardivision.writer-global'
595
- when '.sm' then return 'application/vnd.stepmania.stepchart'
596
- when '.sit' then return 'application/x-stuffit'
597
- when '.sitx' then return 'application/x-stuffitx'
598
- when '.sdkm' then return 'application/vnd.solent.sdkm+xml'
599
- when '.xo' then return 'application/vnd.olpc-sugar'
600
- when '.au' then return 'audio/basic'
601
- when '.wqd' then return 'application/vnd.wqd'
602
- when '.sis' then return 'application/vnd.symbian.install'
603
- when '.smi' then return 'application/smil+xml'
604
- when '.xsm' then return 'application/vnd.syncml+xml'
605
- when '.bdm' then return 'application/vnd.syncml.dm+wbxml'
606
- when '.xdm' then return 'application/vnd.syncml.dm+xml'
607
- when '.sv4cpio' then return 'application/x-sv4cpio'
608
- when '.sv4crc' then return 'application/x-sv4crc'
609
- when '.sbml' then return 'application/sbml+xml'
610
- when '.tsv' then return 'text/tab-separated-values'
611
- when '.tiff' then return 'image/tiff'
612
- when '.tao' then return 'application/vnd.tao.intent-module-archive'
613
- when '.tar' then return 'application/x-tar'
614
- when '.tcl' then return 'application/x-tcl'
615
- when '.tex' then return 'application/x-tex'
616
- when '.tfm' then return 'application/x-tex-tfm'
617
- when '.tei' then return 'application/tei+xml'
618
- when '.txt' then return 'text/plain'
619
- when '.dxp' then return 'application/vnd.spotfire.dxp'
620
- when '.sfs' then return 'application/vnd.spotfire.sfs'
621
- when '.tsd' then return 'application/timestamped-data'
622
- when '.tpt' then return 'application/vnd.trid.tpt'
623
- when '.mxs' then return 'application/vnd.triscape.mxs'
624
- when '.t' then return 'text/troff'
625
- when '.tra' then return 'application/vnd.trueapp'
626
- when '.ttf' then return 'application/x-font-ttf'
627
- when '.ttl' then return 'text/turtle'
628
- when '.umj' then return 'application/vnd.umajin'
629
- when '.uoml' then return 'application/vnd.uoml+xml'
630
- when '.unityweb' then return 'application/vnd.unity'
631
- when '.ufd' then return 'application/vnd.ufdl'
632
- when '.uri' then return 'text/uri-list'
633
- when '.utz' then return 'application/vnd.uiq.theme'
634
- when '.ustar' then return 'application/x-ustar'
635
- when '.uu' then return 'text/x-uuencode'
636
- when '.vcs' then return 'text/x-vcalendar'
637
- when '.vcf' then return 'text/x-vcard'
638
- when '.vcd' then return 'application/x-cdlink'
639
- when '.vsf' then return 'application/vnd.vsf'
640
- when '.wrl' then return 'model/vrml'
641
- when '.vcx' then return 'application/vnd.vcx'
642
- when '.mts' then return 'model/vnd.mts'
643
- when '.vtu' then return 'model/vnd.vtu'
644
- when '.vis' then return 'application/vnd.visionary'
645
- when '.viv' then return 'video/vnd.vivo'
646
- when '.ccxml' then return 'application/ccxml+xml,'
647
- when '.vxml' then return 'application/voicexml+xml'
648
- when '.src' then return 'application/x-wais-source'
649
- when '.wbxml' then return 'application/vnd.wap.wbxml'
650
- when '.wbmp' then return 'image/vnd.wap.wbmp'
651
- when '.wav' then return 'audio/x-wav'
652
- when '.davmount' then return 'application/davmount+xml'
653
- when '.woff' then return 'application/x-font-woff'
654
- when '.wspolicy' then return 'application/wspolicy+xml'
655
- when '.webp' then return 'image/webp'
656
- when '.wtb' then return 'application/vnd.webturbo'
657
- when '.wgt' then return 'application/widget'
658
- when '.hlp' then return 'application/winhlp'
659
- when '.wml' then return 'text/vnd.wap.wml'
660
- when '.wmls' then return 'text/vnd.wap.wmlscript'
661
- when '.wmlsc' then return 'application/vnd.wap.wmlscriptc'
662
- when '.wpd' then return 'application/vnd.wordperfect'
663
- when '.stf' then return 'application/vnd.wt.stf'
664
- when '.wsdl' then return 'application/wsdl+xml'
665
- when '.xbm' then return 'image/x-xbitmap'
666
- when '.xpm' then return 'image/x-xpixmap'
667
- when '.xwd' then return 'image/x-xwindowdump'
668
- when '.der' then return 'application/x-x509-ca-cert'
669
- when '.fig' then return 'application/x-xfig'
670
- when '.xhtml' then return 'application/xhtml+xml'
671
- when '.xml' then return 'application/xml'
672
- when '.xdf' then return 'application/xcap-diff+xml'
673
- when '.xenc' then return 'application/xenc+xml'
674
- when '.xer' then return 'application/patch-ops-error+xml'
675
- when '.rl' then return 'application/resource-lists+xml'
676
- when '.rs' then return 'application/rls-services+xml'
677
- when '.rld' then return 'application/resource-lists-diff+xml'
678
- when '.xslt' then return 'application/xslt+xml'
679
- when '.xop' then return 'application/xop+xml'
680
- when '.xpi' then return 'application/x-xpinstall'
681
- when '.xspf' then return 'application/xspf+xml'
682
- when '.xul' then return 'application/vnd.mozilla.xul+xml'
683
- when '.xyz' then return 'chemical/x-xyz'
684
- when '.yaml' then return 'text/yaml'
685
- when '.yang' then return 'application/yang'
686
- when '.yin' then return 'application/yin+xml'
687
- when '.zir' then return 'application/vnd.zul'
688
- when '.zip' then return 'application/zip'
689
- when '.zmm' then return 'application/vnd.handheld-entertainment+xml'
690
- when '.zaz' then return 'application/vnd.zzazz.deck+xml'
338
+ when '.clp' then return 'application/x-msclip'
339
+ when '.mdi' then return 'image/vnd.ms-modi'
340
+ when '.eot' then return 'application/vnd.ms-fontobject'
341
+ when '.xls' then return 'application/vnd.ms-excel'
342
+ when '.xlam' then return 'application/vnd.ms-excel.addin.macroenabled.12'
343
+ when '.xlsb' then return 'application/vnd.ms-excel.sheet.binary.macroenabled.12'
344
+ when '.xltm' then return 'application/vnd.ms-excel.template.macroenabled.12'
345
+ when '.xlsm' then return 'application/vnd.ms-excel.sheet.macroenabled.12'
346
+ when '.chm' then return 'application/vnd.ms-htmlhelp'
347
+ when '.crd' then return 'application/x-mscardfile'
348
+ when '.lrm' then return 'application/vnd.ms-lrm'
349
+ when '.mvb' then return 'application/x-msmediaview'
350
+ when '.mny' then return 'application/x-msmoney'
351
+ when '.pptx' then return 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
352
+ when '.sldx' then return 'application/vnd.openxmlformats-officedocument.presentationml.slide'
353
+ when '.ppsx' then return 'application/vnd.openxmlformats-officedocument.presentationml.slideshow'
354
+ when '.potx' then return 'application/vnd.openxmlformats-officedocument.presentationml.template'
355
+ when '.xlsx' then return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
356
+ when '.xltx' then return 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'
357
+ when '.docx' then return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
358
+ when '.dotx' then return 'application/vnd.openxmlformats-officedocument.wordprocessingml.template'
359
+ when '.obd' then return 'application/x-msbinder'
360
+ when '.thmx' then return 'application/vnd.ms-officetheme'
361
+ when '.onetoc' then return 'application/onenote'
362
+ when '.pya' then return 'audio/vnd.ms-playready.media.pya'
363
+ when '.pyv' then return 'video/vnd.ms-playready.media.pyv'
364
+ when '.ppt' then return 'application/vnd.ms-powerpoint'
365
+ when '.ppam' then return 'application/vnd.ms-powerpoint.addin.macroenabled.12'
366
+ when '.sldm' then return 'application/vnd.ms-powerpoint.slide.macroenabled.12'
367
+ when '.pptm' then return 'application/vnd.ms-powerpoint.presentation.macroenabled.12'
368
+ when '.ppsm' then return 'application/vnd.ms-powerpoint.slideshow.macroenabled.12'
369
+ when '.mpp' then return 'application/vnd.ms-project'
370
+ when '.pub' then return 'application/x-mspublisher'
371
+ when '.scd' then return 'application/x-msschedule'
372
+ when '.xap' then return 'application/x-silverlight-app'
373
+ when '.stl' then return 'application/vnd.ms-pki.stl'
374
+ when '.cat' then return 'application/vnd.ms-pki.seccat'
375
+ when '.vsd' then return 'application/vnd.visio'
376
+ when '.wm' then return 'video/x-ms-wm'
377
+ when '.wma' then return 'audio/x-ms-wma'
378
+ when '.wax' then return 'audio/x-ms-wax'
379
+ when '.wmx' then return 'video/x-ms-wmx'
380
+ when '.wmd' then return 'application/x-ms-wmd'
381
+ when '.wpl' then return 'application/vnd.ms-wpl'
382
+ when '.wmz' then return 'application/x-ms-wmz'
383
+ when '.wmv' then return 'video/x-ms-wmv'
384
+ when '.wvx' then return 'video/x-ms-wvx'
385
+ when '.wmf' then return 'application/x-msmetafile'
386
+ when '.trm' then return 'application/x-msterminal'
387
+ when '.doc' then return 'application/msword'
388
+ when '.wri' then return 'application/x-mswrite'
389
+ when '.wps' then return 'application/vnd.ms-works'
390
+ when '.xbap' then return 'application/x-ms-xbap'
391
+ when '.xps' then return 'application/vnd.ms-xpsdocument'
392
+ when '.mid' then return 'audio/midi'
393
+ when '.mpy' then return 'application/vnd.ibm.minipay'
394
+ when '.afp' then return 'application/vnd.ibm.modcap'
395
+ when '.rms' then return 'application/vnd.jcp.javame.midlet-rms'
396
+ when '.tmo' then return 'application/vnd.tmobile-livetv'
397
+ when '.prc' then return 'application/x-mobipocket-ebook'
398
+ when '.mbk' then return 'application/vnd.mobius.mbk'
399
+ when '.dis' then return 'application/vnd.mobius.dis'
400
+ when '.plc' then return 'application/vnd.mobius.plc'
401
+ when '.mqy' then return 'application/vnd.mobius.mqy'
402
+ when '.msl' then return 'application/vnd.mobius.msl'
403
+ when '.txf' then return 'application/vnd.mobius.txf'
404
+ when '.daf' then return 'application/vnd.mobius.daf'
405
+ when '.fly' then return 'text/vnd.fly'
406
+ when '.mpc' then return 'application/vnd.mophun.certificate'
407
+ when '.mpn' then return 'application/vnd.mophun.application'
408
+ when '.mj2' then return 'video/mj2'
409
+ when '.mpga' then return 'audio/mpeg'
410
+ when '.mxu' then return 'video/vnd.mpegurl'
411
+ when '.mpeg' then return 'video/mpeg'
412
+ when '.m21' then return 'application/mp21'
413
+ when '.mp4a' then return 'audio/mp4'
414
+ when '.mp4' then return 'video/mp4'
415
+ when '.mp4' then return 'application/mp4'
416
+ when '.m3u8' then return 'application/vnd.apple.mpegurl'
417
+ when '.mus' then return 'application/vnd.musician'
418
+ when '.msty' then return 'application/vnd.muvee.style'
419
+ when '.mxml' then return 'application/xv+xml'
420
+ when '.ngdat' then return 'application/vnd.nokia.n-gage.data'
421
+ when '.n-gage' then return 'application/vnd.nokia.n-gage.symbian.install'
422
+ when '.ncx' then return 'application/x-dtbncx+xml'
423
+ when '.nc' then return 'application/x-netcdf'
424
+ when '.nlu' then return 'application/vnd.neurolanguage.nlu'
425
+ when '.dna' then return 'application/vnd.dna'
426
+ when '.nnd' then return 'application/vnd.noblenet-directory'
427
+ when '.nns' then return 'application/vnd.noblenet-sealer'
428
+ when '.nnw' then return 'application/vnd.noblenet-web'
429
+ when '.rpst' then return 'application/vnd.nokia.radio-preset'
430
+ when '.rpss' then return 'application/vnd.nokia.radio-presets'
431
+ when '.n3' then return 'text/n3'
432
+ when '.edm' then return 'application/vnd.novadigm.edm'
433
+ when '.edx' then return 'application/vnd.novadigm.edx'
434
+ when '.ext' then return 'application/vnd.novadigm.ext'
435
+ when '.gph' then return 'application/vnd.flographit'
436
+ when '.ecelp4800' then return 'audio/vnd.nuera.ecelp4800'
437
+ when '.ecelp7470' then return 'audio/vnd.nuera.ecelp7470'
438
+ when '.ecelp9600' then return 'audio/vnd.nuera.ecelp9600'
439
+ when '.oda' then return 'application/oda'
440
+ when '.ogx' then return 'application/ogg'
441
+ when '.oga' then return 'audio/ogg'
442
+ when '.ogv' then return 'video/ogg'
443
+ when '.dd2' then return 'application/vnd.oma.dd2+xml'
444
+ when '.oth' then return 'application/vnd.oasis.opendocument.text-web'
445
+ when '.opf' then return 'application/oebps-package+xml'
446
+ when '.qbo' then return 'application/vnd.intu.qbo'
447
+ when '.oxt' then return 'application/vnd.openofficeorg.extension'
448
+ when '.osf' then return 'application/vnd.yamaha.openscoreformat'
449
+ when '.weba' then return 'audio/webm'
450
+ when '.webm' then return 'video/webm'
451
+ when '.odc' then return 'application/vnd.oasis.opendocument.chart'
452
+ when '.otc' then return 'application/vnd.oasis.opendocument.chart-template'
453
+ when '.odb' then return 'application/vnd.oasis.opendocument.database'
454
+ when '.odf' then return 'application/vnd.oasis.opendocument.formula'
455
+ when '.odft' then return 'application/vnd.oasis.opendocument.formula-template'
456
+ when '.odg' then return 'application/vnd.oasis.opendocument.graphics'
457
+ when '.otg' then return 'application/vnd.oasis.opendocument.graphics-template'
458
+ when '.odi' then return 'application/vnd.oasis.opendocument.image'
459
+ when '.oti' then return 'application/vnd.oasis.opendocument.image-template'
460
+ when '.odp' then return 'application/vnd.oasis.opendocument.presentation'
461
+ when '.otp' then return 'application/vnd.oasis.opendocument.presentation-template'
462
+ when '.ods' then return 'application/vnd.oasis.opendocument.spreadsheet'
463
+ when '.ots' then return 'application/vnd.oasis.opendocument.spreadsheet-template'
464
+ when '.odt' then return 'application/vnd.oasis.opendocument.text'
465
+ when '.odm' then return 'application/vnd.oasis.opendocument.text-master'
466
+ when '.ott' then return 'application/vnd.oasis.opendocument.text-template'
467
+ when '.ktx' then return 'image/ktx'
468
+ when '.sxc' then return 'application/vnd.sun.xml.calc'
469
+ when '.stc' then return 'application/vnd.sun.xml.calc.template'
470
+ when '.sxd' then return 'application/vnd.sun.xml.draw'
471
+ when '.std' then return 'application/vnd.sun.xml.draw.template'
472
+ when '.sxi' then return 'application/vnd.sun.xml.impress'
473
+ when '.sti' then return 'application/vnd.sun.xml.impress.template'
474
+ when '.sxm' then return 'application/vnd.sun.xml.math'
475
+ when '.sxw' then return 'application/vnd.sun.xml.writer'
476
+ when '.sxg' then return 'application/vnd.sun.xml.writer.global'
477
+ when '.stw' then return 'application/vnd.sun.xml.writer.template'
478
+ when '.otf' then return 'application/x-font-otf'
479
+ when '.osfpvg' then return 'application/vnd.yamaha.openscoreformat.osfpvg+xml'
480
+ when '.dp' then return 'application/vnd.osgi.dp'
481
+ when '.pdb' then return 'application/vnd.palm'
482
+ when '.p' then return 'text/x-pascal'
483
+ when '.paw' then return 'application/vnd.pawaafile'
484
+ when '.pclxl' then return 'application/vnd.hp-pclxl'
485
+ when '.efif' then return 'application/vnd.picsel'
486
+ when '.pcx' then return 'image/x-pcx'
487
+ when '.psd' then return 'image/vnd.adobe.photoshop'
488
+ when '.prf' then return 'application/pics-rules'
489
+ when '.pic' then return 'image/x-pict'
490
+ when '.chat' then return 'application/x-chat'
491
+ when '.p10' then return 'application/pkcs10'
492
+ when '.p12' then return 'application/x-pkcs12'
493
+ when '.p7m' then return 'application/pkcs7-mime'
494
+ when '.p7s' then return 'application/pkcs7-signature'
495
+ when '.p7r' then return 'application/x-pkcs7-certreqresp'
496
+ when '.p7b' then return 'application/x-pkcs7-certificates'
497
+ when '.p8' then return 'application/pkcs8'
498
+ when '.plf' then return 'application/vnd.pocketlearn'
499
+ when '.pnm' then return 'image/x-portable-anymap'
500
+ when '.pbm' then return 'image/x-portable-bitmap'
501
+ when '.pcf' then return 'application/x-font-pcf'
502
+ when '.pfr' then return 'application/font-tdpfr'
503
+ when '.pgn' then return 'application/x-chess-pgn'
504
+ when '.pgm' then return 'image/x-portable-graymap'
505
+ when '.png' then return 'image/png'
506
+ when '.ppm' then return 'image/x-portable-pixmap'
507
+ when '.pskcxml' then return 'application/pskc+xml'
508
+ when '.pml' then return 'application/vnd.ctc-posml'
509
+ when '.ai' then return 'application/postscript'
510
+ when '.pfa' then return 'application/x-font-type1'
511
+ when '.pbd' then return 'application/vnd.powerbuilder6'
512
+ when '.pgp' then return 'application/pgp-signature'
513
+ when '.box' then return 'application/vnd.previewsystems.box'
514
+ when '.ptid' then return 'application/vnd.pvi.ptid1'
515
+ when '.pls' then return 'application/pls+xml'
516
+ when '.str' then return 'application/vnd.pg.format'
517
+ when '.ei6' then return 'application/vnd.pg.osasli'
518
+ when '.dsc' then return 'text/prs.lines.tag'
519
+ when '.psf' then return 'application/x-font-linux-psf'
520
+ when '.qps' then return 'application/vnd.publishare-delta-tree'
521
+ when '.wg' then return 'application/vnd.pmi.widget'
522
+ when '.qxd' then return 'application/vnd.quark.quarkxpress'
523
+ when '.esf' then return 'application/vnd.epson.esf'
524
+ when '.msf' then return 'application/vnd.epson.msf'
525
+ when '.ssf' then return 'application/vnd.epson.ssf'
526
+ when '.qam' then return 'application/vnd.epson.quickanime'
527
+ when '.qfx' then return 'application/vnd.intu.qfx'
528
+ when '.qt' then return 'video/quicktime'
529
+ when '.rar' then return 'application/x-rar-compressed'
530
+ when '.ram' then return 'audio/x-pn-realaudio'
531
+ when '.rmp' then return 'audio/x-pn-realaudio-plugin'
532
+ when '.rsd' then return 'application/rsd+xml'
533
+ when '.rm' then return 'application/vnd.rn-realmedia'
534
+ when '.bed' then return 'application/vnd.realvnc.bed'
535
+ when '.mxl' then return 'application/vnd.recordare.musicxml'
536
+ when '.musicxml' then return 'application/vnd.recordare.musicxml+xml'
537
+ when '.rnc' then return 'application/relax-ng-compact-syntax'
538
+ when '.rdz' then return 'application/vnd.data-vision.rdz'
539
+ when '.rdf' then return 'application/rdf+xml'
540
+ when '.rp9' then return 'application/vnd.cloanto.rp9'
541
+ when '.jisp' then return 'application/vnd.jisp'
542
+ when '.rtf' then return 'application/rtf'
543
+ when '.rtx' then return 'text/richtext'
544
+ when '.link66' then return 'application/vnd.route66.link66+xml'
545
+ when '.rss' then return 'application/rss+xml'
546
+ when '.shf' then return 'application/shf+xml'
547
+ when '.st' then return 'application/vnd.sailingtracker.track'
548
+ when '.svg' then return 'image/svg+xml'
549
+ when '.sus' then return 'application/vnd.sus-calendar'
550
+ when '.sru' then return 'application/sru+xml'
551
+ when '.setpay' then return 'application/set-payment-initiation'
552
+ when '.setreg' then return 'application/set-registration-initiation'
553
+ when '.sema' then return 'application/vnd.sema'
554
+ when '.semd' then return 'application/vnd.semd'
555
+ when '.semf' then return 'application/vnd.semf'
556
+ when '.see' then return 'application/vnd.seemail'
557
+ when '.snf' then return 'application/x-font-snf'
558
+ when '.spq' then return 'application/scvp-vp-request'
559
+ when '.spp' then return 'application/scvp-vp-response'
560
+ when '.scq' then return 'application/scvp-cv-request'
561
+ when '.scs' then return 'application/scvp-cv-response'
562
+ when '.sdp' then return 'application/sdp'
563
+ when '.etx' then return 'text/x-setext'
564
+ when '.movie' then return 'video/x-sgi-movie'
565
+ when '.ifm' then return 'application/vnd.shana.informed.formdata'
566
+ when '.itp' then return 'application/vnd.shana.informed.formtemplate'
567
+ when '.iif' then return 'application/vnd.shana.informed.interchange'
568
+ when '.ipk' then return 'application/vnd.shana.informed.package'
569
+ when '.tfi' then return 'application/thraud+xml'
570
+ when '.shar' then return 'application/x-shar'
571
+ when '.rgb' then return 'image/x-rgb'
572
+ when '.slt' then return 'application/vnd.epson.salt'
573
+ when '.aso' then return 'application/vnd.accpac.simply.aso'
574
+ when '.imp' then return 'application/vnd.accpac.simply.imp'
575
+ when '.twd' then return 'application/vnd.simtech-mindmapper'
576
+ when '.csp' then return 'application/vnd.commonspace'
577
+ when '.saf' then return 'application/vnd.yamaha.smaf-audio'
578
+ when '.mmf' then return 'application/vnd.smaf'
579
+ when '.spf' then return 'application/vnd.yamaha.smaf-phrase'
580
+ when '.teacher' then return 'application/vnd.smart.teacher'
581
+ when '.svd' then return 'application/vnd.svd'
582
+ when '.rq' then return 'application/sparql-query'
583
+ when '.srx' then return 'application/sparql-results+xml'
584
+ when '.gram' then return 'application/srgs'
585
+ when '.grxml' then return 'application/srgs+xml'
586
+ when '.ssml' then return 'application/ssml+xml'
587
+ when '.skp' then return 'application/vnd.koan'
588
+ when '.sgml' then return 'text/sgml'
589
+ when '.sdc' then return 'application/vnd.stardivision.calc'
590
+ when '.sda' then return 'application/vnd.stardivision.draw'
591
+ when '.sdd' then return 'application/vnd.stardivision.impress'
592
+ when '.smf' then return 'application/vnd.stardivision.math'
593
+ when '.sdw' then return 'application/vnd.stardivision.writer'
594
+ when '.sgl' then return 'application/vnd.stardivision.writer-global'
595
+ when '.sm' then return 'application/vnd.stepmania.stepchart'
596
+ when '.sit' then return 'application/x-stuffit'
597
+ when '.sitx' then return 'application/x-stuffitx'
598
+ when '.sdkm' then return 'application/vnd.solent.sdkm+xml'
599
+ when '.xo' then return 'application/vnd.olpc-sugar'
600
+ when '.au' then return 'audio/basic'
601
+ when '.wqd' then return 'application/vnd.wqd'
602
+ when '.sis' then return 'application/vnd.symbian.install'
603
+ when '.smi' then return 'application/smil+xml'
604
+ when '.xsm' then return 'application/vnd.syncml+xml'
605
+ when '.bdm' then return 'application/vnd.syncml.dm+wbxml'
606
+ when '.xdm' then return 'application/vnd.syncml.dm+xml'
607
+ when '.sv4cpio' then return 'application/x-sv4cpio'
608
+ when '.sv4crc' then return 'application/x-sv4crc'
609
+ when '.sbml' then return 'application/sbml+xml'
610
+ when '.tsv' then return 'text/tab-separated-values'
611
+ when '.tiff' then return 'image/tiff'
612
+ when '.tao' then return 'application/vnd.tao.intent-module-archive'
613
+ when '.tar' then return 'application/x-tar'
614
+ when '.tcl' then return 'application/x-tcl'
615
+ when '.tex' then return 'application/x-tex'
616
+ when '.tfm' then return 'application/x-tex-tfm'
617
+ when '.tei' then return 'application/tei+xml'
618
+ when '.txt' then return 'text/plain'
619
+ when '.dxp' then return 'application/vnd.spotfire.dxp'
620
+ when '.sfs' then return 'application/vnd.spotfire.sfs'
621
+ when '.tsd' then return 'application/timestamped-data'
622
+ when '.tpt' then return 'application/vnd.trid.tpt'
623
+ when '.mxs' then return 'application/vnd.triscape.mxs'
624
+ when '.t' then return 'text/troff'
625
+ when '.tra' then return 'application/vnd.trueapp'
626
+ when '.ttf' then return 'application/x-font-ttf'
627
+ when '.ttl' then return 'text/turtle'
628
+ when '.umj' then return 'application/vnd.umajin'
629
+ when '.uoml' then return 'application/vnd.uoml+xml'
630
+ when '.unityweb' then return 'application/vnd.unity'
631
+ when '.ufd' then return 'application/vnd.ufdl'
632
+ when '.uri' then return 'text/uri-list'
633
+ when '.utz' then return 'application/vnd.uiq.theme'
634
+ when '.ustar' then return 'application/x-ustar'
635
+ when '.uu' then return 'text/x-uuencode'
636
+ when '.vcs' then return 'text/x-vcalendar'
637
+ when '.vcf' then return 'text/x-vcard'
638
+ when '.vcd' then return 'application/x-cdlink'
639
+ when '.vsf' then return 'application/vnd.vsf'
640
+ when '.wrl' then return 'model/vrml'
641
+ when '.vcx' then return 'application/vnd.vcx'
642
+ when '.mts' then return 'model/vnd.mts'
643
+ when '.vtu' then return 'model/vnd.vtu'
644
+ when '.vis' then return 'application/vnd.visionary'
645
+ when '.viv' then return 'video/vnd.vivo'
646
+ when '.ccxml' then return 'application/ccxml+xml,'
647
+ when '.vxml' then return 'application/voicexml+xml'
648
+ when '.src' then return 'application/x-wais-source'
649
+ when '.wbxml' then return 'application/vnd.wap.wbxml'
650
+ when '.wbmp' then return 'image/vnd.wap.wbmp'
651
+ when '.wav' then return 'audio/x-wav'
652
+ when '.davmount' then return 'application/davmount+xml'
653
+ when '.woff' then return 'application/x-font-woff'
654
+ when '.wspolicy' then return 'application/wspolicy+xml'
655
+ when '.webp' then return 'image/webp'
656
+ when '.wtb' then return 'application/vnd.webturbo'
657
+ when '.wgt' then return 'application/widget'
658
+ when '.hlp' then return 'application/winhlp'
659
+ when '.wml' then return 'text/vnd.wap.wml'
660
+ when '.wmls' then return 'text/vnd.wap.wmlscript'
661
+ when '.wmlsc' then return 'application/vnd.wap.wmlscriptc'
662
+ when '.wpd' then return 'application/vnd.wordperfect'
663
+ when '.stf' then return 'application/vnd.wt.stf'
664
+ when '.wsdl' then return 'application/wsdl+xml'
665
+ when '.xbm' then return 'image/x-xbitmap'
666
+ when '.xpm' then return 'image/x-xpixmap'
667
+ when '.xwd' then return 'image/x-xwindowdump'
668
+ when '.der' then return 'application/x-x509-ca-cert'
669
+ when '.fig' then return 'application/x-xfig'
670
+ when '.xhtml' then return 'application/xhtml+xml'
671
+ when '.xml' then return 'application/xml'
672
+ when '.xdf' then return 'application/xcap-diff+xml'
673
+ when '.xenc' then return 'application/xenc+xml'
674
+ when '.xer' then return 'application/patch-ops-error+xml'
675
+ when '.rl' then return 'application/resource-lists+xml'
676
+ when '.rs' then return 'application/rls-services+xml'
677
+ when '.rld' then return 'application/resource-lists-diff+xml'
678
+ when '.xslt' then return 'application/xslt+xml'
679
+ when '.xop' then return 'application/xop+xml'
680
+ when '.xpi' then return 'application/x-xpinstall'
681
+ when '.xspf' then return 'application/xspf+xml'
682
+ when '.xul' then return 'application/vnd.mozilla.xul+xml'
683
+ when '.xyz' then return 'chemical/x-xyz'
684
+ when '.yaml' then return 'text/yaml'
685
+ when '.yang' then return 'application/yang'
686
+ when '.yin' then return 'application/yin+xml'
687
+ when '.zir' then return 'application/vnd.zul'
688
+ when '.zip' then return 'application/zip'
689
+ when '.zmm' then return 'application/vnd.handheld-entertainment+xml'
690
+ when '.zaz' then return 'application/vnd.zzazz.deck+xml'
691
691
  end
692
692
  return nil
693
693
  end