summaryrefslogtreecommitdiffstats
path: root/dgbuilder/dgeflows/node_modules/serve-static/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'dgbuilder/dgeflows/node_modules/serve-static/index.js')
-rw-r--r--dgbuilder/dgeflows/node_modules/serve-static/index.js138
1 files changed, 0 insertions, 138 deletions
diff --git a/dgbuilder/dgeflows/node_modules/serve-static/index.js b/dgbuilder/dgeflows/node_modules/serve-static/index.js
deleted file mode 100644
index 0d1d9fbc..00000000
--- a/dgbuilder/dgeflows/node_modules/serve-static/index.js
+++ /dev/null
@@ -1,138 +0,0 @@
-/*!
- * serve-static
- * Copyright(c) 2010 Sencha Inc.
- * Copyright(c) 2011 TJ Holowaychuk
- * Copyright(c) 2014 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-/**
- * Module dependencies.
- */
-
-var escapeHtml = require('escape-html');
-var merge = require('utils-merge');
-var parseurl = require('parseurl');
-var resolve = require('path').resolve;
-var send = require('send');
-var url = require('url');
-
-/**
- * @param {String} root
- * @param {Object} options
- * @return {Function}
- * @api public
- */
-
-exports = module.exports = function serveStatic(root, options) {
- if (!root) {
- throw new TypeError('root path required')
- }
-
- if (typeof root !== 'string') {
- throw new TypeError('root path must be a string')
- }
-
- // copy options object
- options = merge({}, options)
-
- // resolve root to absolute
- root = resolve(root)
-
- // default redirect
- var redirect = options.redirect !== false
-
- // headers listener
- var setHeaders = options.setHeaders
- delete options.setHeaders
-
- if (setHeaders && typeof setHeaders !== 'function') {
- throw new TypeError('option setHeaders must be function')
- }
-
- // setup options for send
- options.maxage = options.maxage || options.maxAge || 0
- options.root = root
-
- return function serveStatic(req, res, next) {
- if (req.method !== 'GET' && req.method !== 'HEAD') {
- return next()
- }
-
- var opts = merge({}, options)
- var originalUrl = parseurl.original(req)
- var path = parseurl(req).pathname
- var hasTrailingSlash = originalUrl.pathname[originalUrl.pathname.length - 1] === '/'
-
- if (path === '/' && !hasTrailingSlash) {
- // make sure redirect occurs at mount
- path = ''
- }
-
- // create send stream
- var stream = send(req, path, opts)
-
- if (redirect) {
- // redirect relative to originalUrl
- stream.on('directory', function redirect() {
- if (hasTrailingSlash) {
- return next()
- }
-
- // append trailing slash
- originalUrl.path = null
- originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + '/')
-
- // reformat the URL
- var target = url.format(originalUrl)
-
- // send redirect response
- res.statusCode = 303
- res.setHeader('Content-Type', 'text/html; charset=utf-8')
- res.setHeader('Location', target)
- res.end('Redirecting to <a href="' + escapeHtml(target) + '">' + escapeHtml(target) + '</a>\n')
- })
- } else {
- // forward to next middleware on directory
- stream.on('directory', next)
- }
-
- // add headers listener
- if (setHeaders) {
- stream.on('headers', setHeaders)
- }
-
- // forward non-404 errors
- stream.on('error', function error(err) {
- next(err.status === 404 ? null : err)
- })
-
- // pipe
- stream.pipe(res)
- }
-}
-
-/**
- * Expose mime module.
- *
- * If you wish to extend the mime table use this
- * reference to the "mime" module in the npm registry.
- */
-
-exports.mime = send.mime
-
-/**
- * Collapse all leading slashes into a single slash
- * @private
- */
-function collapseLeadingSlashes(str) {
- for (var i = 0; i < str.length; i++) {
- if (str[i] !== '/') {
- break
- }
- }
-
- return i > 1
- ? '/' + str.substr(i)
- : str
-}