kopia lustrzana https://github.com/c9/core
201 wiersze
5.5 KiB
JavaScript
201 wiersze
5.5 KiB
JavaScript
// A simple mime database.
|
|
var types;
|
|
module.exports = function setup(defaultMime) {
|
|
return function getMime(path) {
|
|
path = path.toLowerCase().trim();
|
|
var index = path.lastIndexOf("/");
|
|
if (index >= 0) {
|
|
path = path.substr(index + 1);
|
|
}
|
|
index = path.lastIndexOf(".");
|
|
if (index >= 0) {
|
|
path = path.substr(index + 1);
|
|
}
|
|
return types[path] || defaultMime;
|
|
};
|
|
};
|
|
|
|
// Borrowed and passed around from who knows where, last grabbed from connect.
|
|
types = {
|
|
"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-csrc",
|
|
cab: "application/vnd.ms-cab-compressed",
|
|
can: "application/candor",
|
|
cc: "text/x-c++src",
|
|
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",
|
|
gyp: "text/x-script.python",
|
|
gypi: "text/x-script.python",
|
|
gz: "application/x-gzip",
|
|
h: "text/x-chdr",
|
|
hh: "text/x-c++hdr",
|
|
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-script.lua",
|
|
luac: "application/x-bytecode.lua",
|
|
makefile: "text/x-makefile",
|
|
m3u: "audio/x-mpegurl",
|
|
m4v: "video/mp4",
|
|
man: "text/troff",
|
|
manifest: "text/cache-manifest",
|
|
markdown: "text/x-markdown",
|
|
mathml: "application/mathml+xml",
|
|
mbox: "application/mbox",
|
|
mdoc: "text/troff",
|
|
md: "text/x-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",
|
|
webapp: "application/x-web-app-manifest+json",
|
|
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"
|
|
};
|
|
|