format: prettify entire project

This commit is contained in:
Rim
2025-04-02 06:50:39 -04:00
parent 86f0782a98
commit 7ccc0be712
1711 changed files with 755867 additions and 235931 deletions

160
node_modules/serve-static/index.js generated vendored
View File

@ -6,27 +6,27 @@
* MIT Licensed
*/
'use strict'
'use strict';
/**
* Module dependencies.
* @private
*/
var encodeUrl = require('encodeurl')
var escapeHtml = require('escape-html')
var parseUrl = require('parseurl')
var resolve = require('path').resolve
var send = require('send')
var url = require('url')
var encodeUrl = require('encodeurl');
var escapeHtml = require('escape-html');
var parseUrl = require('parseurl');
var resolve = require('path').resolve;
var send = require('send');
var url = require('url');
/**
* Module exports.
* @public
*/
module.exports = serveStatic
module.exports.mime = send.mime
module.exports = serveStatic;
module.exports.mime = send.mime;
/**
* @param {string} root
@ -35,111 +35,110 @@ module.exports.mime = send.mime
* @public
*/
function serveStatic (root, options) {
function serveStatic(root, options) {
if (!root) {
throw new TypeError('root path required')
throw new TypeError('root path required');
}
if (typeof root !== 'string') {
throw new TypeError('root path must be a string')
throw new TypeError('root path must be a string');
}
// copy options object
var opts = Object.create(options || null)
var opts = Object.create(options || null);
// fall-though
var fallthrough = opts.fallthrough !== false
var fallthrough = opts.fallthrough !== false;
// default redirect
var redirect = opts.redirect !== false
var redirect = opts.redirect !== false;
// headers listener
var setHeaders = opts.setHeaders
var setHeaders = opts.setHeaders;
if (setHeaders && typeof setHeaders !== 'function') {
throw new TypeError('option setHeaders must be function')
throw new TypeError('option setHeaders must be function');
}
// setup options for send
opts.maxage = opts.maxage || opts.maxAge || 0
opts.root = resolve(root)
opts.maxage = opts.maxage || opts.maxAge || 0;
opts.root = resolve(root);
// construct directory listener
var onDirectory = redirect
? createRedirectDirectoryListener()
: createNotFoundDirectoryListener()
var onDirectory =
redirect ?
createRedirectDirectoryListener()
: createNotFoundDirectoryListener();
return function serveStatic (req, res, next) {
return function serveStatic(req, res, next) {
if (req.method !== 'GET' && req.method !== 'HEAD') {
if (fallthrough) {
return next()
return next();
}
// method not allowed
res.statusCode = 405
res.setHeader('Allow', 'GET, HEAD')
res.setHeader('Content-Length', '0')
res.end()
return
res.statusCode = 405;
res.setHeader('Allow', 'GET, HEAD');
res.setHeader('Content-Length', '0');
res.end();
return;
}
var forwardError = !fallthrough
var originalUrl = parseUrl.original(req)
var path = parseUrl(req).pathname
var forwardError = !fallthrough;
var originalUrl = parseUrl.original(req);
var path = parseUrl(req).pathname;
// make sure redirect occurs at mount
if (path === '/' && originalUrl.pathname.substr(-1) !== '/') {
path = ''
path = '';
}
// create send stream
var stream = send(req, path, opts)
var stream = send(req, path, opts);
// add directory handler
stream.on('directory', onDirectory)
stream.on('directory', onDirectory);
// add headers listener
if (setHeaders) {
stream.on('headers', setHeaders)
stream.on('headers', setHeaders);
}
// add file listener for fallthrough
if (fallthrough) {
stream.on('file', function onFile () {
stream.on('file', function onFile() {
// once file is determined, always forward error
forwardError = true
})
forwardError = true;
});
}
// forward errors
stream.on('error', function error (err) {
stream.on('error', function error(err) {
if (forwardError || !(err.statusCode < 500)) {
next(err)
return
next(err);
return;
}
next()
})
next();
});
// pipe
stream.pipe(res)
}
stream.pipe(res);
};
}
/**
* Collapse all leading slashes into a single slash
* @private
*/
function collapseLeadingSlashes (str) {
function collapseLeadingSlashes(str) {
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) !== 0x2f /* / */) {
break
break;
}
}
return i > 1
? '/' + str.substr(i)
: str
return i > 1 ? '/' + str.substr(i) : str;
}
/**
@ -150,17 +149,23 @@ function collapseLeadingSlashes (str) {
* @private
*/
function createHtmlDocument (title, body) {
return '<!DOCTYPE html>\n' +
function createHtmlDocument(title, body) {
return (
'<!DOCTYPE html>\n' +
'<html lang="en">\n' +
'<head>\n' +
'<meta charset="utf-8">\n' +
'<title>' + title + '</title>\n' +
'<title>' +
title +
'</title>\n' +
'</head>\n' +
'<body>\n' +
'<pre>' + body + '</pre>\n' +
'<pre>' +
body +
'</pre>\n' +
'</body>\n' +
'</html>\n'
);
}
/**
@ -168,10 +173,10 @@ function createHtmlDocument (title, body) {
* @private
*/
function createNotFoundDirectoryListener () {
return function notFound () {
this.error(404)
}
function createNotFoundDirectoryListener() {
return function notFound() {
this.error(404);
};
}
/**
@ -179,31 +184,34 @@ function createNotFoundDirectoryListener () {
* @private
*/
function createRedirectDirectoryListener () {
return function redirect (res) {
function createRedirectDirectoryListener() {
return function redirect(res) {
if (this.hasTrailingSlash()) {
this.error(404)
return
this.error(404);
return;
}
// get original URL
var originalUrl = parseUrl.original(this.req)
var originalUrl = parseUrl.original(this.req);
// append trailing slash
originalUrl.path = null
originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + '/')
originalUrl.path = null;
originalUrl.pathname = collapseLeadingSlashes(originalUrl.pathname + '/');
// reformat the URL
var loc = encodeUrl(url.format(originalUrl))
var doc = createHtmlDocument('Redirecting', 'Redirecting to ' + escapeHtml(loc))
var loc = encodeUrl(url.format(originalUrl));
var doc = createHtmlDocument(
'Redirecting',
'Redirecting to ' + escapeHtml(loc)
);
// send redirect response
res.statusCode = 301
res.setHeader('Content-Type', 'text/html; charset=UTF-8')
res.setHeader('Content-Length', Buffer.byteLength(doc))
res.setHeader('Content-Security-Policy', "default-src 'none'")
res.setHeader('X-Content-Type-Options', 'nosniff')
res.setHeader('Location', loc)
res.end(doc)
}
res.statusCode = 301;
res.setHeader('Content-Type', 'text/html; charset=UTF-8');
res.setHeader('Content-Length', Buffer.byteLength(doc));
res.setHeader('Content-Security-Policy', "default-src 'none'");
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('Location', loc);
res.end(doc);
};
}