1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
local exports = {}
exports.name = "creationix/mime"
exports.version = "0.1.2-1"
exports.description = "A simple mime type database useful for serving static files over http."
exports.tags = {"mime", "static"}
exports.license = "MIT"
exports.author = { name = "Tim Caswell" }
exports.homepage = "https://github.com/creationix/weblit/blob/master/libs/mime.lua"
local mime = exports
local table = {
["3gp"] = "video/3gpp",
a = "application/octet-stream",
ai = "application/postscript",
aif = "audio/x-aiff",
aiff = "audio/x-aiff",
asc = "application/pgp-signature",
asf = "video/x-ms-asf",
asm = "text/x-asm",
asx = "video/x-ms-asf",
atom = "application/atom+xml",
au = "audio/basic",
avi = "video/x-msvideo",
bat = "application/x-msdownload",
bin = "application/octet-stream",
bmp = "image/bmp",
bz2 = "application/x-bzip2",
c = "text/x-c",
cab = "application/vnd.ms-cab-compressed",
cc = "text/x-c",
chm = "application/vnd.ms-htmlhelp",
class = "application/octet-stream",
com = "application/x-msdownload",
conf = "text/plain",
cpp = "text/x-c",
crt = "application/x-x509-ca-cert",
css = "text/css",
csv = "text/csv",
cxx = "text/x-c",
deb = "application/x-debian-package",
der = "application/x-x509-ca-cert",
diff = "text/x-diff",
djv = "image/vnd.djvu",
djvu = "image/vnd.djvu",
dll = "application/x-msdownload",
dmg = "application/octet-stream",
doc = "application/msword",
dot = "application/msword",
dtd = "application/xml-dtd",
dvi = "application/x-dvi",
ear = "application/java-archive",
eml = "message/rfc822",
eps = "application/postscript",
exe = "application/x-msdownload",
f = "text/x-fortran",
f77 = "text/x-fortran",
f90 = "text/x-fortran",
flv = "video/x-flv",
["for"] = "text/x-fortran",
gem = "application/octet-stream",
gemspec = "text/x-script.ruby",
gif = "image/gif",
gz = "application/x-gzip",
h = "text/x-c",
hh = "text/x-c",
htm = "text/html",
html = "text/html",
ico = "image/vnd.microsoft.icon",
ics = "text/calendar",
ifb = "text/calendar",
iso = "application/octet-stream",
jar = "application/java-archive",
java = "text/x-java-source",
jnlp = "application/x-java-jnlp-file",
jpeg = "image/jpeg",
jpg = "image/jpeg",
js = "application/javascript",
json = "application/json",
less = "text/css",
log = "text/plain",
lua = "text/x-lua",
luac = "application/x-lua-bytecode",
m3u = "audio/x-mpegurl",
m4v = "video/mp4",
man = "text/troff",
manifest = "text/cache-manifest",
markdown = "text/markdown",
mathml = "application/mathml+xml",
mbox = "application/mbox",
mdoc = "text/troff",
md = "text/markdown",
me = "text/troff",
mid = "audio/midi",
midi = "audio/midi",
mime = "message/rfc822",
mml = "application/mathml+xml",
mng = "video/x-mng",
mov = "video/quicktime",
mp3 = "audio/mpeg",
mp4 = "video/mp4",
mp4v = "video/mp4",
mpeg = "video/mpeg",
mpg = "video/mpeg",
ms = "text/troff",
msi = "application/x-msdownload",
odp = "application/vnd.oasis.opendocument.presentation",
ods = "application/vnd.oasis.opendocument.spreadsheet",
odt = "application/vnd.oasis.opendocument.text",
ogg = "application/ogg",
p = "text/x-pascal",
pas = "text/x-pascal",
pbm = "image/x-portable-bitmap",
pdf = "application/pdf",
pem = "application/x-x509-ca-cert",
pgm = "image/x-portable-graymap",
pgp = "application/pgp-encrypted",
pkg = "application/octet-stream",
pl = "text/x-script.perl",
pm = "text/x-script.perl-module",
png = "image/png",
pnm = "image/x-portable-anymap",
ppm = "image/x-portable-pixmap",
pps = "application/vnd.ms-powerpoint",
ppt = "application/vnd.ms-powerpoint",
ps = "application/postscript",
psd = "image/vnd.adobe.photoshop",
py = "text/x-script.python",
qt = "video/quicktime",
ra = "audio/x-pn-realaudio",
rake = "text/x-script.ruby",
ram = "audio/x-pn-realaudio",
rar = "application/x-rar-compressed",
rb = "text/x-script.ruby",
rdf = "application/rdf+xml",
roff = "text/troff",
rpm = "application/x-redhat-package-manager",
rss = "application/rss+xml",
rtf = "application/rtf",
ru = "text/x-script.ruby",
s = "text/x-asm",
sgm = "text/sgml",
sgml = "text/sgml",
sh = "application/x-sh",
sig = "application/pgp-signature",
snd = "audio/basic",
so = "application/octet-stream",
svg = "image/svg+xml",
svgz = "image/svg+xml",
swf = "application/x-shockwave-flash",
t = "text/troff",
tar = "application/x-tar",
tbz = "application/x-bzip-compressed-tar",
tci = "application/x-topcloud",
tcl = "application/x-tcl",
tex = "application/x-tex",
texi = "application/x-texinfo",
texinfo = "application/x-texinfo",
text = "text/plain",
tif = "image/tiff",
tiff = "image/tiff",
torrent = "application/x-bittorrent",
tr = "text/troff",
ttf = "application/x-font-ttf",
txt = "text/plain",
vcf = "text/x-vcard",
vcs = "text/x-vcalendar",
vrml = "model/vrml",
war = "application/java-archive",
wav = "audio/x-wav",
webm = "video/webm",
wma = "audio/x-ms-wma",
wmv = "video/x-ms-wmv",
wmx = "video/x-ms-wmx",
wrl = "model/vrml",
wsdl = "application/wsdl+xml",
xbm = "image/x-xbitmap",
xhtml = "application/xhtml+xml",
xls = "application/vnd.ms-excel",
xml = "application/xml",
xpm = "image/x-xpixmap",
xsl = "application/xml",
xslt = "application/xslt+xml",
yaml = "text/yaml",
yml = "text/yaml",
zip = "application/zip",
}
mime.table = table
mime.default = "application/octet-stream"
function mime.getType(path)
return mime.table[path:lower():match("[^.]*$")] or mime.default
end
return mime
|