summaryrefslogtreecommitdiffstats
path: root/dgbuilder/dgeflows/node_modules/serve-index/node_modules/mime-types/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'dgbuilder/dgeflows/node_modules/serve-index/node_modules/mime-types/index.js')
-rw-r--r--dgbuilder/dgeflows/node_modules/serve-index/node_modules/mime-types/index.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/dgbuilder/dgeflows/node_modules/serve-index/node_modules/mime-types/index.js b/dgbuilder/dgeflows/node_modules/serve-index/node_modules/mime-types/index.js
new file mode 100644
index 00000000..b46a202f
--- /dev/null
+++ b/dgbuilder/dgeflows/node_modules/serve-index/node_modules/mime-types/index.js
@@ -0,0 +1,63 @@
+
+var db = require('mime-db')
+
+// types[extension] = type
+exports.types = Object.create(null)
+// extensions[type] = [extensions]
+exports.extensions = Object.create(null)
+
+Object.keys(db).forEach(function (name) {
+ var mime = db[name]
+ var exts = mime.extensions
+ if (!exts || !exts.length) return
+ exports.extensions[name] = exts
+ exts.forEach(function (ext) {
+ exports.types[ext] = name
+ })
+})
+
+exports.lookup = function (string) {
+ if (!string || typeof string !== "string") return false
+ // remove any leading paths, though we should just use path.basename
+ string = string.replace(/.*[\.\/\\]/, '').toLowerCase()
+ if (!string) return false
+ return exports.types[string] || false
+}
+
+exports.extension = function (type) {
+ if (!type || typeof type !== "string") return false
+ // to do: use media-typer
+ type = type.match(/^\s*([^;\s]*)(?:;|\s|$)/)
+ if (!type) return false
+ var exts = exports.extensions[type[1].toLowerCase()]
+ if (!exts || !exts.length) return false
+ return exts[0]
+}
+
+// type has to be an exact mime type
+exports.charset = function (type) {
+ var mime = db[type]
+ if (mime && mime.charset) return mime.charset
+
+ // default text/* to utf-8
+ if (/^text\//.test(type)) return 'UTF-8'
+
+ return false
+}
+
+// backwards compatibility
+exports.charsets = {
+ lookup: exports.charset
+}
+
+// to do: maybe use set-type module or something
+exports.contentType = function (type) {
+ if (!type || typeof type !== "string") return false
+ if (!~type.indexOf('/')) type = exports.lookup(type)
+ if (!type) return false
+ if (!~type.indexOf('charset')) {
+ var charset = exports.charset(type)
+ if (charset) type += '; charset=' + charset.toLowerCase()
+ }
+ return type
+}