diff options
Diffstat (limited to 'plugins/mime')
-rw-r--r-- | plugins/mime/LICENSE | 22 | ||||
-rw-r--r-- | plugins/mime/README.md | 2 | ||||
-rw-r--r-- | plugins/mime/init.lua | 194 | ||||
-rw-r--r-- | plugins/mime/plugin.json | 8 |
4 files changed, 226 insertions, 0 deletions
diff --git a/plugins/mime/LICENSE b/plugins/mime/LICENSE new file mode 100644 index 00000000000..5789b767285 --- /dev/null +++ b/plugins/mime/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Tim Caswell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/plugins/mime/README.md b/plugins/mime/README.md new file mode 100644 index 00000000000..550ba582b69 --- /dev/null +++ b/plugins/mime/README.md @@ -0,0 +1,2 @@ +# luv-mime +A luv port of weblit's mime module diff --git a/plugins/mime/init.lua b/plugins/mime/init.lua new file mode 100644 index 00000000000..ac41dad1cfc --- /dev/null +++ b/plugins/mime/init.lua @@ -0,0 +1,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 diff --git a/plugins/mime/plugin.json b/plugins/mime/plugin.json new file mode 100644 index 00000000000..ee55fd559b3 --- /dev/null +++ b/plugins/mime/plugin.json @@ -0,0 +1,8 @@ +{ + "plugin": { + "name": "mime", + "version": "0.1.2-1", + "author": "Tim Caswell", + "type": "library", + } +}
\ No newline at end of file |