├── Index.html ├── index.js ├── node_modules ├── .bin │ ├── mime │ ├── mime.cmd │ └── mime.ps1 ├── accepts │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── array-flatten │ ├── LICENSE │ ├── README.md │ ├── array-flatten.js │ └── package.json ├── body-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── read.js │ │ └── types │ │ │ ├── json.js │ │ │ ├── raw.js │ │ │ ├── text.js │ │ │ └── urlencoded.js │ └── package.json ├── bytes │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── content-disposition │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── content-type │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── cookie-signature │ ├── .npmignore │ ├── History.md │ ├── Readme.md │ ├── index.js │ └── package.json ├── cookie │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── debug │ ├── .coveralls.yml │ ├── .eslintrc │ ├── .npmignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── component.json │ ├── karma.conf.js │ ├── node.js │ ├── package.json │ └── src │ │ ├── browser.js │ │ ├── debug.js │ │ ├── index.js │ │ ├── inspector-log.js │ │ └── node.js ├── depd │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── browser │ │ │ └── index.js │ │ └── compat │ │ │ ├── callsite-tostring.js │ │ │ ├── event-listener-count.js │ │ │ └── index.js │ └── package.json ├── destroy │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── ee-first │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── encodeurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── escape-html │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── etag │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── express │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ ├── lib │ │ ├── application.js │ │ ├── express.js │ │ ├── middleware │ │ │ ├── init.js │ │ │ └── query.js │ │ ├── request.js │ │ ├── response.js │ │ ├── router │ │ │ ├── index.js │ │ │ ├── layer.js │ │ │ └── route.js │ │ ├── utils.js │ │ └── view.js │ └── package.json ├── finalhandler │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── forwarded │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── fresh │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── http-errors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── iconv-lite │ ├── Changelog.md │ ├── LICENSE │ ├── README.md │ ├── encodings │ │ ├── dbcs-codec.js │ │ ├── dbcs-data.js │ │ ├── index.js │ │ ├── internal.js │ │ ├── sbcs-codec.js │ │ ├── sbcs-data-generated.js │ │ ├── sbcs-data.js │ │ ├── tables │ │ │ ├── big5-added.json │ │ │ ├── cp936.json │ │ │ ├── cp949.json │ │ │ ├── cp950.json │ │ │ ├── eucjp.json │ │ │ ├── gb18030-ranges.json │ │ │ ├── gbk-added.json │ │ │ └── shiftjis.json │ │ ├── utf16.js │ │ └── utf7.js │ ├── lib │ │ ├── bom-handling.js │ │ ├── extend-node.js │ │ ├── index.d.ts │ │ ├── index.js │ │ └── streams.js │ └── package.json ├── inherits │ ├── LICENSE │ ├── README.md │ ├── inherits.js │ ├── inherits_browser.js │ └── package.json ├── ipaddr.js │ ├── LICENSE │ ├── README.md │ ├── ipaddr.min.js │ ├── lib │ │ ├── ipaddr.js │ │ └── ipaddr.js.d.ts │ └── package.json ├── media-typer │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── merge-descriptors │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── methods │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mime-db │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── db.json │ ├── index.js │ └── package.json ├── mime-types │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── mime │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── cli.js │ ├── mime.js │ ├── package.json │ ├── src │ │ ├── build.js │ │ └── test.js │ └── types.json ├── ms │ ├── index.js │ ├── license.md │ ├── package.json │ └── readme.md ├── negotiator │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── lib │ │ ├── charset.js │ │ ├── encoding.js │ │ ├── language.js │ │ └── mediaType.js │ └── package.json ├── on-finished │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── parseurl │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── path-to-regexp │ ├── History.md │ ├── LICENSE │ ├── Readme.md │ ├── index.js │ └── package.json ├── proxy-addr │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── qs │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc │ ├── .github │ │ └── FUNDING.yml │ ├── .nycrc │ ├── CHANGELOG.md │ ├── LICENSE.md │ ├── README.md │ ├── dist │ │ └── qs.js │ ├── lib │ │ ├── formats.js │ │ ├── index.js │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js │ ├── package.json │ └── test │ │ ├── parse.js │ │ ├── stringify.js │ │ └── utils.js ├── range-parser │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── raw-body │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── safe-buffer │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ └── package.json ├── safer-buffer │ ├── LICENSE │ ├── Porting-Buffer.md │ ├── Readme.md │ ├── dangerous.js │ ├── package.json │ ├── safer.js │ └── tests.js ├── send │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ ├── node_modules │ │ └── ms │ │ │ ├── index.js │ │ │ ├── license.md │ │ │ ├── package.json │ │ │ └── readme.md │ └── package.json ├── serve-static │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── setprototypeof │ ├── LICENSE │ ├── README.md │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── test │ │ └── index.js ├── statuses │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── codes.json │ ├── index.js │ └── package.json ├── toidentifier │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── type-is │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── unpipe │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── utils-merge │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json └── vary │ ├── HISTORY.md │ ├── LICENSE │ ├── README.md │ ├── index.js │ └── package.json ├── package-lock.json └── package.json /Index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Hello World Simple App 8 | 9 | 10 |
Hello World!
11 | 12 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); //Import the express dependency 2 | const app = express(); //Instantiate an express app, the main work horse of this server 3 | const port = 5000; //Save the port number where your server will be listening 4 | 5 | //Idiomatic expression in express to route and respond to a client request 6 | app.get('/', (req, res) => { //get requests to the root ("/") will route here 7 | res.sendFile('index.html', {root: __dirname}); //server responds by sending the index.html file to the client's browser 8 | //the .sendFile method needs the absolute path to the file, see: https://expressjs.com/en/4x/api.html#res.sendFile 9 | }); 10 | 11 | app.listen(port, () => { //server starts listening for any attempts from a client to connect at port: {port} 12 | console.log(`Now listening on port ${port}`); 13 | }); -------------------------------------------------------------------------------- /node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; 6 | esac 7 | 8 | if [ -x "$basedir/node" ]; then 9 | "$basedir/node" "$basedir/../mime/cli.js" "$@" 10 | ret=$? 11 | else 12 | node "$basedir/../mime/cli.js" "$@" 13 | ret=$? 14 | fi 15 | exit $ret 16 | -------------------------------------------------------------------------------- /node_modules/.bin/mime.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | SETLOCAL 3 | CALL :find_dp0 4 | 5 | IF EXIST "%dp0%\node.exe" ( 6 | SET "_prog=%dp0%\node.exe" 7 | ) ELSE ( 8 | SET "_prog=node" 9 | SET PATHEXT=%PATHEXT:;.JS;=;% 10 | ) 11 | 12 | "%_prog%" "%dp0%\..\mime\cli.js" %* 13 | ENDLOCAL 14 | EXIT /b %errorlevel% 15 | :find_dp0 16 | SET dp0=%~dp0 17 | EXIT /b 18 | -------------------------------------------------------------------------------- /node_modules/.bin/mime.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | & "$basedir/node$exe" "$basedir/../mime/cli.js" $args 13 | $ret=$LASTEXITCODE 14 | } else { 15 | & "node$exe" "$basedir/../mime/cli.js" $args 16 | $ret=$LASTEXITCODE 17 | } 18 | exit $ret 19 | -------------------------------------------------------------------------------- /node_modules/accepts/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/array-flatten/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/array-flatten/README.md: -------------------------------------------------------------------------------- 1 | # Array Flatten 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![NPM downloads][downloads-image]][downloads-url] 5 | [![Build status][travis-image]][travis-url] 6 | [![Test coverage][coveralls-image]][coveralls-url] 7 | 8 | > Flatten an array of nested arrays into a single flat array. Accepts an optional depth. 9 | 10 | ## Installation 11 | 12 | ``` 13 | npm install array-flatten --save 14 | ``` 15 | 16 | ## Usage 17 | 18 | ```javascript 19 | var flatten = require('array-flatten') 20 | 21 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9]) 22 | //=> [1, 2, 3, 4, 5, 6, 7, 8, 9] 23 | 24 | flatten([1, [2, [3, [4, [5], 6], 7], 8], 9], 2) 25 | //=> [1, 2, 3, [4, [5], 6], 7, 8, 9] 26 | 27 | (function () { 28 | flatten(arguments) //=> [1, 2, 3] 29 | })(1, [2, 3]) 30 | ``` 31 | 32 | ## License 33 | 34 | MIT 35 | 36 | [npm-image]: https://img.shields.io/npm/v/array-flatten.svg?style=flat 37 | [npm-url]: https://npmjs.org/package/array-flatten 38 | [downloads-image]: https://img.shields.io/npm/dm/array-flatten.svg?style=flat 39 | [downloads-url]: https://npmjs.org/package/array-flatten 40 | [travis-image]: https://img.shields.io/travis/blakeembrey/array-flatten.svg?style=flat 41 | [travis-url]: https://travis-ci.org/blakeembrey/array-flatten 42 | [coveralls-image]: https://img.shields.io/coveralls/blakeembrey/array-flatten.svg?style=flat 43 | [coveralls-url]: https://coveralls.io/r/blakeembrey/array-flatten?branch=master 44 | -------------------------------------------------------------------------------- /node_modules/array-flatten/array-flatten.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | /** 4 | * Expose `arrayFlatten`. 5 | */ 6 | module.exports = arrayFlatten 7 | 8 | /** 9 | * Recursive flatten function with depth. 10 | * 11 | * @param {Array} array 12 | * @param {Array} result 13 | * @param {Number} depth 14 | * @return {Array} 15 | */ 16 | function flattenWithDepth (array, result, depth) { 17 | for (var i = 0; i < array.length; i++) { 18 | var value = array[i] 19 | 20 | if (depth > 0 && Array.isArray(value)) { 21 | flattenWithDepth(value, result, depth - 1) 22 | } else { 23 | result.push(value) 24 | } 25 | } 26 | 27 | return result 28 | } 29 | 30 | /** 31 | * Recursive flatten function. Omitting depth is slightly faster. 32 | * 33 | * @param {Array} array 34 | * @param {Array} result 35 | * @return {Array} 36 | */ 37 | function flattenForever (array, result) { 38 | for (var i = 0; i < array.length; i++) { 39 | var value = array[i] 40 | 41 | if (Array.isArray(value)) { 42 | flattenForever(value, result) 43 | } else { 44 | result.push(value) 45 | } 46 | } 47 | 48 | return result 49 | } 50 | 51 | /** 52 | * Flatten an array, with the ability to define a depth. 53 | * 54 | * @param {Array} array 55 | * @param {Number} depth 56 | * @return {Array} 57 | */ 58 | function arrayFlatten (array, depth) { 59 | if (depth == null) { 60 | return flattenForever(array, []) 61 | } 62 | 63 | return flattenWithDepth(array, [], depth) 64 | } 65 | -------------------------------------------------------------------------------- /node_modules/array-flatten/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "array-flatten@1.1.1", 3 | "_id": "array-flatten@1.1.1", 4 | "_inBundle": false, 5 | "_integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", 6 | "_location": "/array-flatten", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "array-flatten@1.1.1", 12 | "name": "array-flatten", 13 | "escapedName": "array-flatten", 14 | "rawSpec": "1.1.1", 15 | "saveSpec": null, 16 | "fetchSpec": "1.1.1" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 22 | "_shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2", 23 | "_spec": "array-flatten@1.1.1", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "author": { 26 | "name": "Blake Embrey", 27 | "email": "hello@blakeembrey.com", 28 | "url": "http://blakeembrey.me" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/blakeembrey/array-flatten/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "deprecated": false, 35 | "description": "Flatten an array of nested arrays into a single flat array", 36 | "devDependencies": { 37 | "istanbul": "^0.3.13", 38 | "mocha": "^2.2.4", 39 | "pre-commit": "^1.0.7", 40 | "standard": "^3.7.3" 41 | }, 42 | "files": [ 43 | "array-flatten.js", 44 | "LICENSE" 45 | ], 46 | "homepage": "https://github.com/blakeembrey/array-flatten", 47 | "keywords": [ 48 | "array", 49 | "flatten", 50 | "arguments", 51 | "depth" 52 | ], 53 | "license": "MIT", 54 | "main": "array-flatten.js", 55 | "name": "array-flatten", 56 | "repository": { 57 | "type": "git", 58 | "url": "git://github.com/blakeembrey/array-flatten.git" 59 | }, 60 | "scripts": { 61 | "test": "istanbul cover _mocha -- -R spec" 62 | }, 63 | "version": "1.1.1" 64 | } 65 | -------------------------------------------------------------------------------- /node_modules/body-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/body-parser/lib/types/raw.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * body-parser 3 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module dependencies. 11 | */ 12 | 13 | var bytes = require('bytes') 14 | var debug = require('debug')('body-parser:raw') 15 | var read = require('../read') 16 | var typeis = require('type-is') 17 | 18 | /** 19 | * Module exports. 20 | */ 21 | 22 | module.exports = raw 23 | 24 | /** 25 | * Create a middleware to parse raw bodies. 26 | * 27 | * @param {object} [options] 28 | * @return {function} 29 | * @api public 30 | */ 31 | 32 | function raw (options) { 33 | var opts = options || {} 34 | 35 | var inflate = opts.inflate !== false 36 | var limit = typeof opts.limit !== 'number' 37 | ? bytes.parse(opts.limit || '100kb') 38 | : opts.limit 39 | var type = opts.type || 'application/octet-stream' 40 | var verify = opts.verify || false 41 | 42 | if (verify !== false && typeof verify !== 'function') { 43 | throw new TypeError('option verify must be function') 44 | } 45 | 46 | // create the appropriate type checking function 47 | var shouldParse = typeof type !== 'function' 48 | ? typeChecker(type) 49 | : type 50 | 51 | function parse (buf) { 52 | return buf 53 | } 54 | 55 | return function rawParser (req, res, next) { 56 | if (req._body) { 57 | debug('body already parsed') 58 | next() 59 | return 60 | } 61 | 62 | req.body = req.body || {} 63 | 64 | // skip requests without bodies 65 | if (!typeis.hasBody(req)) { 66 | debug('skip empty body') 67 | next() 68 | return 69 | } 70 | 71 | debug('content-type %j', req.headers['content-type']) 72 | 73 | // determine if request should be parsed 74 | if (!shouldParse(req)) { 75 | debug('skip parsing') 76 | next() 77 | return 78 | } 79 | 80 | // read 81 | read(req, res, next, parse, debug, { 82 | encoding: null, 83 | inflate: inflate, 84 | limit: limit, 85 | verify: verify 86 | }) 87 | } 88 | } 89 | 90 | /** 91 | * Get the simple type checker. 92 | * 93 | * @param {string} type 94 | * @return {function} 95 | */ 96 | 97 | function typeChecker (type) { 98 | return function checkType (req) { 99 | return Boolean(typeis(req, type)) 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /node_modules/bytes/History.md: -------------------------------------------------------------------------------- 1 | 3.1.1 / 2021-11-15 2 | ================== 3 | 4 | * Fix "thousandsSeparator" incorrecting formatting fractional part 5 | 6 | 3.1.0 / 2019-01-22 7 | ================== 8 | 9 | * Add petabyte (`pb`) support 10 | 11 | 3.0.0 / 2017-08-31 12 | ================== 13 | 14 | * Change "kB" to "KB" in format output 15 | * Remove support for Node.js 0.6 16 | * Remove support for ComponentJS 17 | 18 | 2.5.0 / 2017-03-24 19 | ================== 20 | 21 | * Add option "unit" 22 | 23 | 2.4.0 / 2016-06-01 24 | ================== 25 | 26 | * Add option "unitSeparator" 27 | 28 | 2.3.0 / 2016-02-15 29 | ================== 30 | 31 | * Drop partial bytes on all parsed units 32 | * Fix non-finite numbers to `.format` to return `null` 33 | * Fix parsing byte string that looks like hex 34 | * perf: hoist regular expressions 35 | 36 | 2.2.0 / 2015-11-13 37 | ================== 38 | 39 | * add option "decimalPlaces" 40 | * add option "fixedDecimals" 41 | 42 | 2.1.0 / 2015-05-21 43 | ================== 44 | 45 | * add `.format` export 46 | * add `.parse` export 47 | 48 | 2.0.2 / 2015-05-20 49 | ================== 50 | 51 | * remove map recreation 52 | * remove unnecessary object construction 53 | 54 | 2.0.1 / 2015-05-07 55 | ================== 56 | 57 | * fix browserify require 58 | * remove node.extend dependency 59 | 60 | 2.0.0 / 2015-04-12 61 | ================== 62 | 63 | * add option "case" 64 | * add option "thousandsSeparator" 65 | * return "null" on invalid parse input 66 | * support proper round-trip: bytes(bytes(num)) === num 67 | * units no longer case sensitive when parsing 68 | 69 | 1.0.0 / 2014-05-05 70 | ================== 71 | 72 | * add negative support. fixes #6 73 | 74 | 0.3.0 / 2014-03-19 75 | ================== 76 | 77 | * added terabyte support 78 | 79 | 0.2.1 / 2013-04-01 80 | ================== 81 | 82 | * add .component 83 | 84 | 0.2.0 / 2012-10-28 85 | ================== 86 | 87 | * bytes(200).should.eql('200b') 88 | 89 | 0.1.0 / 2012-07-04 90 | ================== 91 | 92 | * add bytes to string conversion [yields] 93 | -------------------------------------------------------------------------------- /node_modules/bytes/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015 Jed Watson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/bytes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "bytes@3.1.1", 3 | "_id": "bytes@3.1.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", 6 | "_location": "/bytes", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "bytes@3.1.1", 12 | "name": "bytes", 13 | "escapedName": "bytes", 14 | "rawSpec": "3.1.1", 15 | "saveSpec": null, 16 | "fetchSpec": "3.1.1" 17 | }, 18 | "_requiredBy": [ 19 | "/body-parser", 20 | "/raw-body" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", 23 | "_shasum": "3f018291cb4cbad9accb6e6970bca9c8889e879a", 24 | "_spec": "bytes@3.1.1", 25 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\body-parser", 26 | "author": { 27 | "name": "TJ Holowaychuk", 28 | "email": "tj@vision-media.ca", 29 | "url": "http://tjholowaychuk.com" 30 | }, 31 | "bugs": { 32 | "url": "https://github.com/visionmedia/bytes.js/issues" 33 | }, 34 | "bundleDependencies": false, 35 | "contributors": [ 36 | { 37 | "name": "Jed Watson", 38 | "email": "jed.watson@me.com" 39 | }, 40 | { 41 | "name": "Théo FIDRY", 42 | "email": "theo.fidry@gmail.com" 43 | } 44 | ], 45 | "deprecated": false, 46 | "description": "Utility to parse a string bytes to bytes and vice-versa", 47 | "devDependencies": { 48 | "eslint": "7.32.0", 49 | "eslint-plugin-markdown": "2.2.1", 50 | "mocha": "9.1.3", 51 | "nyc": "15.1.0" 52 | }, 53 | "engines": { 54 | "node": ">= 0.8" 55 | }, 56 | "files": [ 57 | "History.md", 58 | "LICENSE", 59 | "Readme.md", 60 | "index.js" 61 | ], 62 | "homepage": "https://github.com/visionmedia/bytes.js#readme", 63 | "keywords": [ 64 | "byte", 65 | "bytes", 66 | "utility", 67 | "parse", 68 | "parser", 69 | "convert", 70 | "converter" 71 | ], 72 | "license": "MIT", 73 | "name": "bytes", 74 | "repository": { 75 | "type": "git", 76 | "url": "git+https://github.com/visionmedia/bytes.js.git" 77 | }, 78 | "scripts": { 79 | "lint": "eslint .", 80 | "test": "mocha --check-leaks --reporter spec", 81 | "test-ci": "nyc --reporter=lcov --reporter=text npm test", 82 | "test-cov": "nyc --reporter=html --reporter=text npm test" 83 | }, 84 | "version": "3.1.1" 85 | } 86 | -------------------------------------------------------------------------------- /node_modules/content-disposition/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.4 / 2021-12-10 2 | ================== 3 | 4 | * deps: safe-buffer@5.2.1 5 | 6 | 0.5.3 / 2018-12-17 7 | ================== 8 | 9 | * Use `safe-buffer` for improved Buffer API 10 | 11 | 0.5.2 / 2016-12-08 12 | ================== 13 | 14 | * Fix `parse` to accept any linear whitespace character 15 | 16 | 0.5.1 / 2016-01-17 17 | ================== 18 | 19 | * perf: enable strict mode 20 | 21 | 0.5.0 / 2014-10-11 22 | ================== 23 | 24 | * Add `parse` function 25 | 26 | 0.4.0 / 2014-09-21 27 | ================== 28 | 29 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset 30 | 31 | 0.3.0 / 2014-09-20 32 | ================== 33 | 34 | * Add `fallback` option 35 | * Add `type` option 36 | 37 | 0.2.0 / 2014-09-19 38 | ================== 39 | 40 | * Reduce ambiguity of file names with hex escape in buggy browsers 41 | 42 | 0.1.2 / 2014-09-19 43 | ================== 44 | 45 | * Fix periodic invalid Unicode filename header 46 | 47 | 0.1.1 / 2014-09-19 48 | ================== 49 | 50 | * Fix invalid characters appearing in `filename*` parameter 51 | 52 | 0.1.0 / 2014-09-18 53 | ================== 54 | 55 | * Make the `filename` argument optional 56 | 57 | 0.0.0 / 2014-09-18 58 | ================== 59 | 60 | * Initial release 61 | -------------------------------------------------------------------------------- /node_modules/content-disposition/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2017-09-11 2 | ================== 3 | 4 | * perf: skip parameter parsing when no parameters 5 | 6 | 1.0.3 / 2017-09-10 7 | ================== 8 | 9 | * perf: remove argument reassignment 10 | 11 | 1.0.2 / 2016-05-09 12 | ================== 13 | 14 | * perf: enable strict mode 15 | 16 | 1.0.1 / 2015-02-13 17 | ================== 18 | 19 | * Improve missing `Content-Type` header error message 20 | 21 | 1.0.0 / 2015-02-01 22 | ================== 23 | 24 | * Initial implementation, derived from `media-typer@0.3.0` 25 | -------------------------------------------------------------------------------- /node_modules/content-type/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | *.sock 5 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/History.md: -------------------------------------------------------------------------------- 1 | 1.0.6 / 2015-02-03 2 | ================== 3 | 4 | * use `npm test` instead of `make test` to run tests 5 | * clearer assertion messages when checking input 6 | 7 | 8 | 1.0.5 / 2014-09-05 9 | ================== 10 | 11 | * add license to package.json 12 | 13 | 1.0.4 / 2014-06-25 14 | ================== 15 | 16 | * corrected avoidance of timing attacks (thanks @tenbits!) 17 | 18 | 1.0.3 / 2014-01-28 19 | ================== 20 | 21 | * [incorrect] fix for timing attacks 22 | 23 | 1.0.2 / 2014-01-28 24 | ================== 25 | 26 | * fix missing repository warning 27 | * fix typo in test 28 | 29 | 1.0.1 / 2013-04-15 30 | ================== 31 | 32 | * Revert "Changed underlying HMAC algo. to sha512." 33 | * Revert "Fix for timing attacks on MAC verification." 34 | 35 | 0.0.1 / 2010-01-03 36 | ================== 37 | 38 | * Initial release 39 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # cookie-signature 3 | 4 | Sign and unsign cookies. 5 | 6 | ## Example 7 | 8 | ```js 9 | var cookie = require('cookie-signature'); 10 | 11 | var val = cookie.sign('hello', 'tobiiscool'); 12 | val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI'); 13 | 14 | var val = cookie.sign('hello', 'tobiiscool'); 15 | cookie.unsign(val, 'tobiiscool').should.equal('hello'); 16 | cookie.unsign(val, 'luna').should.be.false; 17 | ``` 18 | 19 | ## License 20 | 21 | (The MIT License) 22 | 23 | Copyright (c) 2012 LearnBoost <tj@learnboost.com> 24 | 25 | Permission is hereby granted, free of charge, to any person obtaining 26 | a copy of this software and associated documentation files (the 27 | 'Software'), to deal in the Software without restriction, including 28 | without limitation the rights to use, copy, modify, merge, publish, 29 | distribute, sublicense, and/or sell copies of the Software, and to 30 | permit persons to whom the Software is furnished to do so, subject to 31 | the following conditions: 32 | 33 | The above copyright notice and this permission notice shall be 34 | included in all copies or substantial portions of the Software. 35 | 36 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 37 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 38 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 39 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 40 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 41 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 42 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /node_modules/cookie-signature/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Module dependencies. 3 | */ 4 | 5 | var crypto = require('crypto'); 6 | 7 | /** 8 | * Sign the given `val` with `secret`. 9 | * 10 | * @param {String} val 11 | * @param {String} secret 12 | * @return {String} 13 | * @api private 14 | */ 15 | 16 | exports.sign = function(val, secret){ 17 | if ('string' != typeof val) throw new TypeError("Cookie value must be provided as a string."); 18 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 19 | return val + '.' + crypto 20 | .createHmac('sha256', secret) 21 | .update(val) 22 | .digest('base64') 23 | .replace(/\=+$/, ''); 24 | }; 25 | 26 | /** 27 | * Unsign and decode the given `val` with `secret`, 28 | * returning `false` if the signature is invalid. 29 | * 30 | * @param {String} val 31 | * @param {String} secret 32 | * @return {String|Boolean} 33 | * @api private 34 | */ 35 | 36 | exports.unsign = function(val, secret){ 37 | if ('string' != typeof val) throw new TypeError("Signed cookie string must be provided."); 38 | if ('string' != typeof secret) throw new TypeError("Secret string must be provided."); 39 | var str = val.slice(0, val.lastIndexOf('.')) 40 | , mac = exports.sign(str, secret); 41 | 42 | return sha1(mac) == sha1(val) ? str : false; 43 | }; 44 | 45 | /** 46 | * Private 47 | */ 48 | 49 | function sha1(str){ 50 | return crypto.createHash('sha1').update(str).digest('hex'); 51 | } 52 | -------------------------------------------------------------------------------- /node_modules/cookie-signature/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "cookie-signature@1.0.6", 3 | "_id": "cookie-signature@1.0.6", 4 | "_inBundle": false, 5 | "_integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", 6 | "_location": "/cookie-signature", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "cookie-signature@1.0.6", 12 | "name": "cookie-signature", 13 | "escapedName": "cookie-signature", 14 | "rawSpec": "1.0.6", 15 | "saveSpec": null, 16 | "fetchSpec": "1.0.6" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 22 | "_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c", 23 | "_spec": "cookie-signature@1.0.6", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "author": { 26 | "name": "TJ Holowaychuk", 27 | "email": "tj@learnboost.com" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/visionmedia/node-cookie-signature/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "dependencies": {}, 34 | "deprecated": false, 35 | "description": "Sign and unsign cookies", 36 | "devDependencies": { 37 | "mocha": "*", 38 | "should": "*" 39 | }, 40 | "homepage": "https://github.com/visionmedia/node-cookie-signature#readme", 41 | "keywords": [ 42 | "cookie", 43 | "sign", 44 | "unsign" 45 | ], 46 | "license": "MIT", 47 | "main": "index", 48 | "name": "cookie-signature", 49 | "repository": { 50 | "type": "git", 51 | "url": "git+https://github.com/visionmedia/node-cookie-signature.git" 52 | }, 53 | "scripts": { 54 | "test": "mocha --require should --reporter spec" 55 | }, 56 | "version": "1.0.6" 57 | } 58 | -------------------------------------------------------------------------------- /node_modules/cookie/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Roman Shtylman 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /node_modules/cookie/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "cookie@0.4.1", 3 | "_id": "cookie@0.4.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", 6 | "_location": "/cookie", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "cookie@0.4.1", 12 | "name": "cookie", 13 | "escapedName": "cookie", 14 | "rawSpec": "0.4.1", 15 | "saveSpec": null, 16 | "fetchSpec": "0.4.1" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", 22 | "_shasum": "afd713fe26ebd21ba95ceb61f9a8116e50a537d1", 23 | "_spec": "cookie@0.4.1", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "author": { 26 | "name": "Roman Shtylman", 27 | "email": "shtylman@gmail.com" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/jshttp/cookie/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "contributors": [ 34 | { 35 | "name": "Douglas Christopher Wilson", 36 | "email": "doug@somethingdoug.com" 37 | } 38 | ], 39 | "deprecated": false, 40 | "description": "HTTP server cookie parsing and serialization", 41 | "devDependencies": { 42 | "beautify-benchmark": "0.2.4", 43 | "benchmark": "2.1.4", 44 | "eslint": "6.8.0", 45 | "eslint-plugin-markdown": "1.0.2", 46 | "mocha": "7.1.1", 47 | "nyc": "15.0.1" 48 | }, 49 | "engines": { 50 | "node": ">= 0.6" 51 | }, 52 | "files": [ 53 | "HISTORY.md", 54 | "LICENSE", 55 | "README.md", 56 | "index.js" 57 | ], 58 | "homepage": "https://github.com/jshttp/cookie#readme", 59 | "keywords": [ 60 | "cookie", 61 | "cookies" 62 | ], 63 | "license": "MIT", 64 | "name": "cookie", 65 | "repository": { 66 | "type": "git", 67 | "url": "git+https://github.com/jshttp/cookie.git" 68 | }, 69 | "scripts": { 70 | "bench": "node benchmark/index.js", 71 | "lint": "eslint --plugin markdown --ext js,md .", 72 | "test": "mocha --reporter spec --bail --check-leaks --ui qunit test/", 73 | "test-ci": "nyc --reporter=text npm test", 74 | "test-cov": "nyc --reporter=html --reporter=text npm test", 75 | "version": "node scripts/version-history.js && git add HISTORY.md" 76 | }, 77 | "version": "0.4.1" 78 | } 79 | -------------------------------------------------------------------------------- /node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | bower.json 10 | -------------------------------------------------------------------------------- /node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /node_modules/debug/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 TJ Holowaychuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 6 | and associated documentation files (the 'Software'), to deal in the Software without restriction, 7 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 8 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, 9 | subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all copies or substantial 12 | portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | 20 | -------------------------------------------------------------------------------- /node_modules/debug/Makefile: -------------------------------------------------------------------------------- 1 | # get Makefile directory name: http://stackoverflow.com/a/5982798/376773 2 | THIS_MAKEFILE_PATH:=$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) 3 | THIS_DIR:=$(shell cd $(dir $(THIS_MAKEFILE_PATH));pwd) 4 | 5 | # BIN directory 6 | BIN := $(THIS_DIR)/node_modules/.bin 7 | 8 | # Path 9 | PATH := node_modules/.bin:$(PATH) 10 | SHELL := /bin/bash 11 | 12 | # applications 13 | NODE ?= $(shell which node) 14 | YARN ?= $(shell which yarn) 15 | PKG ?= $(if $(YARN),$(YARN),$(NODE) $(shell which npm)) 16 | BROWSERIFY ?= $(NODE) $(BIN)/browserify 17 | 18 | .FORCE: 19 | 20 | install: node_modules 21 | 22 | node_modules: package.json 23 | @NODE_ENV= $(PKG) install 24 | @touch node_modules 25 | 26 | lint: .FORCE 27 | eslint browser.js debug.js index.js node.js 28 | 29 | test-node: .FORCE 30 | istanbul cover node_modules/mocha/bin/_mocha -- test/**.js 31 | 32 | test-browser: .FORCE 33 | mkdir -p dist 34 | 35 | @$(BROWSERIFY) \ 36 | --standalone debug \ 37 | . > dist/debug.js 38 | 39 | karma start --single-run 40 | rimraf dist 41 | 42 | test: .FORCE 43 | concurrently \ 44 | "make test-node" \ 45 | "make test-browser" 46 | 47 | coveralls: 48 | cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js 49 | 50 | .PHONY: all install clean distclean 51 | -------------------------------------------------------------------------------- /node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.6.9", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "src/browser.js", 12 | "scripts": [ 13 | "src/browser.js", 14 | "src/debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/debug/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration 2 | // Generated on Fri Dec 16 2016 13:09:51 GMT+0000 (UTC) 3 | 4 | module.exports = function(config) { 5 | config.set({ 6 | 7 | // base path that will be used to resolve all patterns (eg. files, exclude) 8 | basePath: '', 9 | 10 | 11 | // frameworks to use 12 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter 13 | frameworks: ['mocha', 'chai', 'sinon'], 14 | 15 | 16 | // list of files / patterns to load in the browser 17 | files: [ 18 | 'dist/debug.js', 19 | 'test/*spec.js' 20 | ], 21 | 22 | 23 | // list of files to exclude 24 | exclude: [ 25 | 'src/node.js' 26 | ], 27 | 28 | 29 | // preprocess matching files before serving them to the browser 30 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor 31 | preprocessors: { 32 | }, 33 | 34 | // test results reporter to use 35 | // possible values: 'dots', 'progress' 36 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter 37 | reporters: ['progress'], 38 | 39 | 40 | // web server port 41 | port: 9876, 42 | 43 | 44 | // enable / disable colors in the output (reporters and logs) 45 | colors: true, 46 | 47 | 48 | // level of logging 49 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG 50 | logLevel: config.LOG_INFO, 51 | 52 | 53 | // enable / disable watching file and executing tests whenever any file changes 54 | autoWatch: true, 55 | 56 | 57 | // start these browsers 58 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher 59 | browsers: ['PhantomJS'], 60 | 61 | 62 | // Continuous Integration mode 63 | // if true, Karma captures browsers, runs the tests and exits 64 | singleRun: false, 65 | 66 | // Concurrency level 67 | // how many browser should be started simultaneous 68 | concurrency: Infinity 69 | }) 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /node_modules/debug/src/inspector-log.js: -------------------------------------------------------------------------------- 1 | module.exports = inspectorLog; 2 | 3 | // black hole 4 | const nullStream = new (require('stream').Writable)(); 5 | nullStream._write = () => {}; 6 | 7 | /** 8 | * Outputs a `console.log()` to the Node.js Inspector console *only*. 9 | */ 10 | function inspectorLog() { 11 | const stdout = console._stdout; 12 | console._stdout = nullStream; 13 | console.log.apply(console, arguments); 14 | console._stdout = stdout; 15 | } 16 | -------------------------------------------------------------------------------- /node_modules/depd/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/depd/lib/browser/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = depd 15 | 16 | /** 17 | * Create deprecate for namespace in caller. 18 | */ 19 | 20 | function depd (namespace) { 21 | if (!namespace) { 22 | throw new TypeError('argument namespace is required') 23 | } 24 | 25 | function deprecate (message) { 26 | // no-op in browser 27 | } 28 | 29 | deprecate._file = undefined 30 | deprecate._ignored = true 31 | deprecate._namespace = namespace 32 | deprecate._traced = false 33 | deprecate._warned = Object.create(null) 34 | 35 | deprecate.function = wrapfunction 36 | deprecate.property = wrapproperty 37 | 38 | return deprecate 39 | } 40 | 41 | /** 42 | * Return a wrapped function in a deprecation message. 43 | * 44 | * This is a no-op version of the wrapper, which does nothing but call 45 | * validation. 46 | */ 47 | 48 | function wrapfunction (fn, message) { 49 | if (typeof fn !== 'function') { 50 | throw new TypeError('argument fn must be a function') 51 | } 52 | 53 | return fn 54 | } 55 | 56 | /** 57 | * Wrap property in a deprecation message. 58 | * 59 | * This is a no-op version of the wrapper, which does nothing but call 60 | * validation. 61 | */ 62 | 63 | function wrapproperty (obj, prop, message) { 64 | if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) { 65 | throw new TypeError('argument obj must be object') 66 | } 67 | 68 | var descriptor = Object.getOwnPropertyDescriptor(obj, prop) 69 | 70 | if (!descriptor) { 71 | throw new TypeError('must call property on owner object') 72 | } 73 | 74 | if (!descriptor.configurable) { 75 | throw new TypeError('property must be configurable') 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount (emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/depd/lib/compat/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module dependencies. 11 | * @private 12 | */ 13 | 14 | var EventEmitter = require('events').EventEmitter 15 | 16 | /** 17 | * Module exports. 18 | * @public 19 | */ 20 | 21 | lazyProperty(module.exports, 'callSiteToString', function callSiteToString () { 22 | var limit = Error.stackTraceLimit 23 | var obj = {} 24 | var prep = Error.prepareStackTrace 25 | 26 | function prepareObjectStackTrace (obj, stack) { 27 | return stack 28 | } 29 | 30 | Error.prepareStackTrace = prepareObjectStackTrace 31 | Error.stackTraceLimit = 2 32 | 33 | // capture the stack 34 | Error.captureStackTrace(obj) 35 | 36 | // slice the stack 37 | var stack = obj.stack.slice() 38 | 39 | Error.prepareStackTrace = prep 40 | Error.stackTraceLimit = limit 41 | 42 | return stack[0].toString ? toString : require('./callsite-tostring') 43 | }) 44 | 45 | lazyProperty(module.exports, 'eventListenerCount', function eventListenerCount () { 46 | return EventEmitter.listenerCount || require('./event-listener-count') 47 | }) 48 | 49 | /** 50 | * Define a lazy property. 51 | */ 52 | 53 | function lazyProperty (obj, prop, getter) { 54 | function get () { 55 | var val = getter() 56 | 57 | Object.defineProperty(obj, prop, { 58 | configurable: true, 59 | enumerable: true, 60 | value: val 61 | }) 62 | 63 | return val 64 | } 65 | 66 | Object.defineProperty(obj, prop, { 67 | configurable: true, 68 | enumerable: true, 69 | get: get 70 | }) 71 | } 72 | 73 | /** 74 | * Call toString() on the obj 75 | */ 76 | 77 | function toString (obj) { 78 | return obj.toString() 79 | } 80 | -------------------------------------------------------------------------------- /node_modules/destroy/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/destroy/README.md: -------------------------------------------------------------------------------- 1 | # Destroy 2 | 3 | [![NPM version][npm-image]][npm-url] 4 | [![Build status][travis-image]][travis-url] 5 | [![Test coverage][coveralls-image]][coveralls-url] 6 | [![License][license-image]][license-url] 7 | [![Downloads][downloads-image]][downloads-url] 8 | [![Gittip][gittip-image]][gittip-url] 9 | 10 | Destroy a stream. 11 | 12 | This module is meant to ensure a stream gets destroyed, handling different APIs 13 | and Node.js bugs. 14 | 15 | ## API 16 | 17 | ```js 18 | var destroy = require('destroy') 19 | ``` 20 | 21 | ### destroy(stream) 22 | 23 | Destroy the given stream. In most cases, this is identical to a simple 24 | `stream.destroy()` call. The rules are as follows for a given stream: 25 | 26 | 1. If the `stream` is an instance of `ReadStream`, then call `stream.destroy()` 27 | and add a listener to the `open` event to call `stream.close()` if it is 28 | fired. This is for a Node.js bug that will leak a file descriptor if 29 | `.destroy()` is called before `open`. 30 | 2. If the `stream` is not an instance of `Stream`, then nothing happens. 31 | 3. If the `stream` has a `.destroy()` method, then call it. 32 | 33 | The function returns the `stream` passed in as the argument. 34 | 35 | ## Example 36 | 37 | ```js 38 | var destroy = require('destroy') 39 | 40 | var fs = require('fs') 41 | var stream = fs.createReadStream('package.json') 42 | 43 | // ... and later 44 | destroy(stream) 45 | ``` 46 | 47 | [npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square 48 | [npm-url]: https://npmjs.org/package/destroy 49 | [github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square 50 | [github-url]: https://github.com/stream-utils/destroy/tags 51 | [travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square 52 | [travis-url]: https://travis-ci.org/stream-utils/destroy 53 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square 54 | [coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master 55 | [license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square 56 | [license-url]: LICENSE.md 57 | [downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square 58 | [downloads-url]: https://npmjs.org/package/destroy 59 | [gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square 60 | [gittip-url]: https://www.gittip.com/jonathanong/ 61 | -------------------------------------------------------------------------------- /node_modules/destroy/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * destroy 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module dependencies. 11 | * @private 12 | */ 13 | 14 | var ReadStream = require('fs').ReadStream 15 | var Stream = require('stream') 16 | 17 | /** 18 | * Module exports. 19 | * @public 20 | */ 21 | 22 | module.exports = destroy 23 | 24 | /** 25 | * Destroy a stream. 26 | * 27 | * @param {object} stream 28 | * @public 29 | */ 30 | 31 | function destroy(stream) { 32 | if (stream instanceof ReadStream) { 33 | return destroyReadStream(stream) 34 | } 35 | 36 | if (!(stream instanceof Stream)) { 37 | return stream 38 | } 39 | 40 | if (typeof stream.destroy === 'function') { 41 | stream.destroy() 42 | } 43 | 44 | return stream 45 | } 46 | 47 | /** 48 | * Destroy a ReadStream. 49 | * 50 | * @param {object} stream 51 | * @private 52 | */ 53 | 54 | function destroyReadStream(stream) { 55 | stream.destroy() 56 | 57 | if (typeof stream.close === 'function') { 58 | // node.js core bug work-around 59 | stream.on('open', onOpenClose) 60 | } 61 | 62 | return stream 63 | } 64 | 65 | /** 66 | * On open handler to close stream. 67 | * @private 68 | */ 69 | 70 | function onOpenClose() { 71 | if (typeof this.fd === 'number') { 72 | // actually close down the fd 73 | this.close() 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /node_modules/destroy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "destroy@~1.0.4", 3 | "_id": "destroy@1.0.4", 4 | "_inBundle": false, 5 | "_integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", 6 | "_location": "/destroy", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "destroy@~1.0.4", 12 | "name": "destroy", 13 | "escapedName": "destroy", 14 | "rawSpec": "~1.0.4", 15 | "saveSpec": null, 16 | "fetchSpec": "~1.0.4" 17 | }, 18 | "_requiredBy": [ 19 | "/send" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 22 | "_shasum": "978857442c44749e4206613e37946205826abd80", 23 | "_spec": "destroy@~1.0.4", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\send", 25 | "author": { 26 | "name": "Jonathan Ong", 27 | "email": "me@jongleberry.com", 28 | "url": "http://jongleberry.com" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/stream-utils/destroy/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "contributors": [ 35 | { 36 | "name": "Douglas Christopher Wilson", 37 | "email": "doug@somethingdoug.com" 38 | } 39 | ], 40 | "deprecated": false, 41 | "description": "destroy a stream if possible", 42 | "devDependencies": { 43 | "istanbul": "0.4.2", 44 | "mocha": "2.3.4" 45 | }, 46 | "files": [ 47 | "index.js", 48 | "LICENSE" 49 | ], 50 | "homepage": "https://github.com/stream-utils/destroy#readme", 51 | "keywords": [ 52 | "stream", 53 | "streams", 54 | "destroy", 55 | "cleanup", 56 | "leak", 57 | "fd" 58 | ], 59 | "license": "MIT", 60 | "name": "destroy", 61 | "repository": { 62 | "type": "git", 63 | "url": "git+https://github.com/stream-utils/destroy.git" 64 | }, 65 | "scripts": { 66 | "test": "mocha --reporter spec", 67 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot", 68 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot" 69 | }, 70 | "version": "1.0.4" 71 | } 72 | -------------------------------------------------------------------------------- /node_modules/ee-first/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/ee-first/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * ee-first 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = first 15 | 16 | /** 17 | * Get the first event in a set of event emitters and event pairs. 18 | * 19 | * @param {array} stuff 20 | * @param {function} done 21 | * @public 22 | */ 23 | 24 | function first(stuff, done) { 25 | if (!Array.isArray(stuff)) 26 | throw new TypeError('arg must be an array of [ee, events...] arrays') 27 | 28 | var cleanups = [] 29 | 30 | for (var i = 0; i < stuff.length; i++) { 31 | var arr = stuff[i] 32 | 33 | if (!Array.isArray(arr) || arr.length < 2) 34 | throw new TypeError('each array member must be [ee, events...]') 35 | 36 | var ee = arr[0] 37 | 38 | for (var j = 1; j < arr.length; j++) { 39 | var event = arr[j] 40 | var fn = listener(event, callback) 41 | 42 | // listen to the event 43 | ee.on(event, fn) 44 | // push this listener to the list of cleanups 45 | cleanups.push({ 46 | ee: ee, 47 | event: event, 48 | fn: fn, 49 | }) 50 | } 51 | } 52 | 53 | function callback() { 54 | cleanup() 55 | done.apply(null, arguments) 56 | } 57 | 58 | function cleanup() { 59 | var x 60 | for (var i = 0; i < cleanups.length; i++) { 61 | x = cleanups[i] 62 | x.ee.removeListener(x.event, x.fn) 63 | } 64 | } 65 | 66 | function thunk(fn) { 67 | done = fn 68 | } 69 | 70 | thunk.cancel = cleanup 71 | 72 | return thunk 73 | } 74 | 75 | /** 76 | * Create the event listener. 77 | * @private 78 | */ 79 | 80 | function listener(event, done) { 81 | return function onevent(arg1) { 82 | var args = new Array(arguments.length) 83 | var ee = this 84 | var err = event === 'error' 85 | ? arg1 86 | : null 87 | 88 | // copy args to prevent arguments escaping scope 89 | for (var i = 0; i < args.length; i++) { 90 | args[i] = arguments[i] 91 | } 92 | 93 | done(err, ee, event, args) 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /node_modules/ee-first/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "ee-first@1.1.1", 3 | "_id": "ee-first@1.1.1", 4 | "_inBundle": false, 5 | "_integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", 6 | "_location": "/ee-first", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "ee-first@1.1.1", 12 | "name": "ee-first", 13 | "escapedName": "ee-first", 14 | "rawSpec": "1.1.1", 15 | "saveSpec": null, 16 | "fetchSpec": "1.1.1" 17 | }, 18 | "_requiredBy": [ 19 | "/on-finished" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 22 | "_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d", 23 | "_spec": "ee-first@1.1.1", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\on-finished", 25 | "author": { 26 | "name": "Jonathan Ong", 27 | "email": "me@jongleberry.com", 28 | "url": "http://jongleberry.com" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/jonathanong/ee-first/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "contributors": [ 35 | { 36 | "name": "Douglas Christopher Wilson", 37 | "email": "doug@somethingdoug.com" 38 | } 39 | ], 40 | "deprecated": false, 41 | "description": "return the first event in a set of ee/event pairs", 42 | "devDependencies": { 43 | "istanbul": "0.3.9", 44 | "mocha": "2.2.5" 45 | }, 46 | "files": [ 47 | "index.js", 48 | "LICENSE" 49 | ], 50 | "homepage": "https://github.com/jonathanong/ee-first#readme", 51 | "license": "MIT", 52 | "name": "ee-first", 53 | "repository": { 54 | "type": "git", 55 | "url": "git+https://github.com/jonathanong/ee-first.git" 56 | }, 57 | "scripts": { 58 | "test": "mocha --reporter spec --bail --check-leaks test/", 59 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 60 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 61 | }, 62 | "version": "1.1.1" 63 | } 64 | -------------------------------------------------------------------------------- /node_modules/encodeurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.2 / 2018-01-21 2 | ================== 3 | 4 | * Fix encoding `%` as last character 5 | 6 | 1.0.1 / 2016-06-09 7 | ================== 8 | 9 | * Fix encoding unpaired surrogates at start/end of string 10 | 11 | 1.0.0 / 2016-06-08 12 | ================== 13 | 14 | * Initial release 15 | -------------------------------------------------------------------------------- /node_modules/encodeurl/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/encodeurl/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * encodeurl 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = encodeUrl 15 | 16 | /** 17 | * RegExp to match non-URL code points, *after* encoding (i.e. not including "%") 18 | * and including invalid escape sequences. 19 | * @private 20 | */ 21 | 22 | var ENCODE_CHARS_REGEXP = /(?:[^\x21\x25\x26-\x3B\x3D\x3F-\x5B\x5D\x5F\x61-\x7A\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g 23 | 24 | /** 25 | * RegExp to match unmatched surrogate pair. 26 | * @private 27 | */ 28 | 29 | var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g 30 | 31 | /** 32 | * String to replace unmatched surrogate pair with. 33 | * @private 34 | */ 35 | 36 | var UNMATCHED_SURROGATE_PAIR_REPLACE = '$1\uFFFD$2' 37 | 38 | /** 39 | * Encode a URL to a percent-encoded form, excluding already-encoded sequences. 40 | * 41 | * This function will take an already-encoded URL and encode all the non-URL 42 | * code points. This function will not encode the "%" character unless it is 43 | * not part of a valid sequence (`%20` will be left as-is, but `%foo` will 44 | * be encoded as `%25foo`). 45 | * 46 | * This encode is meant to be "safe" and does not throw errors. It will try as 47 | * hard as it can to properly encode the given URL, including replacing any raw, 48 | * unpaired surrogate pairs with the Unicode replacement character prior to 49 | * encoding. 50 | * 51 | * @param {string} url 52 | * @return {string} 53 | * @public 54 | */ 55 | 56 | function encodeUrl (url) { 57 | return String(url) 58 | .replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE) 59 | .replace(ENCODE_CHARS_REGEXP, encodeURI) 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/escape-html/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2013 TJ Holowaychuk 4 | Copyright (c) 2015 Andreas Lubbe 5 | Copyright (c) 2015 Tiancheng "Timothy" Gu 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/escape-html/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | # escape-html 3 | 4 | Escape string for use in HTML 5 | 6 | ## Example 7 | 8 | ```js 9 | var escape = require('escape-html'); 10 | var html = escape('foo & bar'); 11 | // -> foo & bar 12 | ``` 13 | 14 | ## Benchmark 15 | 16 | ``` 17 | $ npm run-script bench 18 | 19 | > escape-html@1.0.3 bench nodejs-escape-html 20 | > node benchmark/index.js 21 | 22 | 23 | http_parser@1.0 24 | node@0.10.33 25 | v8@3.14.5.9 26 | ares@1.9.0-DEV 27 | uv@0.10.29 28 | zlib@1.2.3 29 | modules@11 30 | openssl@1.0.1j 31 | 32 | 1 test completed. 33 | 2 tests completed. 34 | 3 tests completed. 35 | 36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled) 37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled) 38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled) 39 | ``` 40 | 41 | ## License 42 | 43 | MIT -------------------------------------------------------------------------------- /node_modules/escape-html/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * escape-html 3 | * Copyright(c) 2012-2013 TJ Holowaychuk 4 | * Copyright(c) 2015 Andreas Lubbe 5 | * Copyright(c) 2015 Tiancheng "Timothy" Gu 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module variables. 13 | * @private 14 | */ 15 | 16 | var matchHtmlRegExp = /["'&<>]/; 17 | 18 | /** 19 | * Module exports. 20 | * @public 21 | */ 22 | 23 | module.exports = escapeHtml; 24 | 25 | /** 26 | * Escape special characters in the given string of html. 27 | * 28 | * @param {string} string The string to escape for inserting into HTML 29 | * @return {string} 30 | * @public 31 | */ 32 | 33 | function escapeHtml(string) { 34 | var str = '' + string; 35 | var match = matchHtmlRegExp.exec(str); 36 | 37 | if (!match) { 38 | return str; 39 | } 40 | 41 | var escape; 42 | var html = ''; 43 | var index = 0; 44 | var lastIndex = 0; 45 | 46 | for (index = match.index; index < str.length; index++) { 47 | switch (str.charCodeAt(index)) { 48 | case 34: // " 49 | escape = '"'; 50 | break; 51 | case 38: // & 52 | escape = '&'; 53 | break; 54 | case 39: // ' 55 | escape = '''; 56 | break; 57 | case 60: // < 58 | escape = '<'; 59 | break; 60 | case 62: // > 61 | escape = '>'; 62 | break; 63 | default: 64 | continue; 65 | } 66 | 67 | if (lastIndex !== index) { 68 | html += str.substring(lastIndex, index); 69 | } 70 | 71 | lastIndex = index + 1; 72 | html += escape; 73 | } 74 | 75 | return lastIndex !== index 76 | ? html + str.substring(lastIndex, index) 77 | : html; 78 | } 79 | -------------------------------------------------------------------------------- /node_modules/escape-html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "escape-html@~1.0.3", 3 | "_id": "escape-html@1.0.3", 4 | "_inBundle": false, 5 | "_integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", 6 | "_location": "/escape-html", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "escape-html@~1.0.3", 12 | "name": "escape-html", 13 | "escapedName": "escape-html", 14 | "rawSpec": "~1.0.3", 15 | "saveSpec": null, 16 | "fetchSpec": "~1.0.3" 17 | }, 18 | "_requiredBy": [ 19 | "/express", 20 | "/finalhandler", 21 | "/send", 22 | "/serve-static" 23 | ], 24 | "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 25 | "_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988", 26 | "_spec": "escape-html@~1.0.3", 27 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 28 | "bugs": { 29 | "url": "https://github.com/component/escape-html/issues" 30 | }, 31 | "bundleDependencies": false, 32 | "deprecated": false, 33 | "description": "Escape string for use in HTML", 34 | "devDependencies": { 35 | "beautify-benchmark": "0.2.4", 36 | "benchmark": "1.0.0" 37 | }, 38 | "files": [ 39 | "LICENSE", 40 | "Readme.md", 41 | "index.js" 42 | ], 43 | "homepage": "https://github.com/component/escape-html#readme", 44 | "keywords": [ 45 | "escape", 46 | "html", 47 | "utility" 48 | ], 49 | "license": "MIT", 50 | "name": "escape-html", 51 | "repository": { 52 | "type": "git", 53 | "url": "git+https://github.com/component/escape-html.git" 54 | }, 55 | "scripts": { 56 | "bench": "node benchmark/index.js" 57 | }, 58 | "version": "1.0.3" 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/etag/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.8.1 / 2017-09-12 2 | ================== 3 | 4 | * perf: replace regular expression with substring 5 | 6 | 1.8.0 / 2017-02-18 7 | ================== 8 | 9 | * Use SHA1 instead of MD5 for ETag hashing 10 | - Improves performance for larger entities 11 | - Works with FIPS 140-2 OpenSSL configuration 12 | 13 | 1.7.0 / 2015-06-08 14 | ================== 15 | 16 | * Always include entity length in ETags for hash length extensions 17 | * Generate non-Stats ETags using MD5 only (no longer CRC32) 18 | * Improve stat performance by removing hashing 19 | * Remove base64 padding in ETags to shorten 20 | * Use MD5 instead of MD4 in weak ETags over 1KB 21 | 22 | 1.6.0 / 2015-05-10 23 | ================== 24 | 25 | * Improve support for JXcore 26 | * Remove requirement of `atime` in the stats object 27 | * Support "fake" stats objects in environments without `fs` 28 | 29 | 1.5.1 / 2014-11-19 30 | ================== 31 | 32 | * deps: crc@3.2.1 33 | - Minor fixes 34 | 35 | 1.5.0 / 2014-10-14 36 | ================== 37 | 38 | * Improve string performance 39 | * Slightly improve speed for weak ETags over 1KB 40 | 41 | 1.4.0 / 2014-09-21 42 | ================== 43 | 44 | * Support "fake" stats objects 45 | * Support Node.js 0.6 46 | 47 | 1.3.1 / 2014-09-14 48 | ================== 49 | 50 | * Use the (new and improved) `crc` for crc32 51 | 52 | 1.3.0 / 2014-08-29 53 | ================== 54 | 55 | * Default strings to strong ETags 56 | * Improve speed for weak ETags over 1KB 57 | 58 | 1.2.1 / 2014-08-29 59 | ================== 60 | 61 | * Use the (much faster) `buffer-crc32` for crc32 62 | 63 | 1.2.0 / 2014-08-24 64 | ================== 65 | 66 | * Add support for file stat objects 67 | 68 | 1.1.0 / 2014-08-24 69 | ================== 70 | 71 | * Add fast-path for empty entity 72 | * Add weak ETag generation 73 | * Shrink size of generated ETags 74 | 75 | 1.0.1 / 2014-08-24 76 | ================== 77 | 78 | * Fix behavior of string containing Unicode 79 | 80 | 1.0.0 / 2014-05-18 81 | ================== 82 | 83 | * Initial release 84 | -------------------------------------------------------------------------------- /node_modules/etag/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/express/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2009-2014 TJ Holowaychuk 4 | Copyright (c) 2013-2014 Roman Shtylman 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/express/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | module.exports = require('./lib/express'); 12 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/init.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | * @private 14 | */ 15 | 16 | var setPrototypeOf = require('setprototypeof') 17 | 18 | /** 19 | * Initialization middleware, exposing the 20 | * request and response to each other, as well 21 | * as defaulting the X-Powered-By header field. 22 | * 23 | * @param {Function} app 24 | * @return {Function} 25 | * @api private 26 | */ 27 | 28 | exports.init = function(app){ 29 | return function expressInit(req, res, next){ 30 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); 31 | req.res = res; 32 | res.req = req; 33 | req.next = next; 34 | 35 | setPrototypeOf(req, app.request) 36 | setPrototypeOf(res, app.response) 37 | 38 | res.locals = res.locals || Object.create(null); 39 | 40 | next(); 41 | }; 42 | }; 43 | 44 | -------------------------------------------------------------------------------- /node_modules/express/lib/middleware/query.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * express 3 | * Copyright(c) 2009-2013 TJ Holowaychuk 4 | * Copyright(c) 2013 Roman Shtylman 5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson 6 | * MIT Licensed 7 | */ 8 | 9 | 'use strict'; 10 | 11 | /** 12 | * Module dependencies. 13 | */ 14 | 15 | var merge = require('utils-merge') 16 | var parseUrl = require('parseurl'); 17 | var qs = require('qs'); 18 | 19 | /** 20 | * @param {Object} options 21 | * @return {Function} 22 | * @api public 23 | */ 24 | 25 | module.exports = function query(options) { 26 | var opts = merge({}, options) 27 | var queryparse = qs.parse; 28 | 29 | if (typeof options === 'function') { 30 | queryparse = options; 31 | opts = undefined; 32 | } 33 | 34 | if (opts !== undefined && opts.allowPrototypes === undefined) { 35 | // back-compat for qs module 36 | opts.allowPrototypes = true; 37 | } 38 | 39 | return function query(req, res, next){ 40 | if (!req.query) { 41 | var val = parseUrl(req).query; 42 | req.query = queryparse(val, opts); 43 | } 44 | 45 | next(); 46 | }; 47 | }; 48 | -------------------------------------------------------------------------------- /node_modules/finalhandler/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/forwarded/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.2.0 / 2021-05-31 2 | ================== 3 | 4 | * Use `req.socket` over deprecated `req.connection` 5 | 6 | 0.1.2 / 2017-09-14 7 | ================== 8 | 9 | * perf: improve header parsing 10 | * perf: reduce overhead when no `X-Forwarded-For` header 11 | 12 | 0.1.1 / 2017-09-10 13 | ================== 14 | 15 | * Fix trimming leading / trailing OWS 16 | * perf: hoist regular expression 17 | 18 | 0.1.0 / 2014-09-21 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /node_modules/forwarded/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/forwarded/README.md: -------------------------------------------------------------------------------- 1 | # forwarded 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][ci-image]][ci-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Parse HTTP X-Forwarded-For header 10 | 11 | ## Installation 12 | 13 | This is a [Node.js](https://nodejs.org/en/) module available through the 14 | [npm registry](https://www.npmjs.com/). Installation is done using the 15 | [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): 16 | 17 | ```sh 18 | $ npm install forwarded 19 | ``` 20 | 21 | ## API 22 | 23 | ```js 24 | var forwarded = require('forwarded') 25 | ``` 26 | 27 | ### forwarded(req) 28 | 29 | ```js 30 | var addresses = forwarded(req) 31 | ``` 32 | 33 | Parse the `X-Forwarded-For` header from the request. Returns an array 34 | of the addresses, including the socket address for the `req`, in reverse 35 | order (i.e. index `0` is the socket address and the last index is the 36 | furthest address, typically the end-user). 37 | 38 | ## Testing 39 | 40 | ```sh 41 | $ npm test 42 | ``` 43 | 44 | ## License 45 | 46 | [MIT](LICENSE) 47 | 48 | [ci-image]: https://badgen.net/github/checks/jshttp/forwarded/master?label=ci 49 | [ci-url]: https://github.com/jshttp/forwarded/actions?query=workflow%3Aci 50 | [npm-image]: https://img.shields.io/npm/v/forwarded.svg 51 | [npm-url]: https://npmjs.org/package/forwarded 52 | [node-version-image]: https://img.shields.io/node/v/forwarded.svg 53 | [node-version-url]: https://nodejs.org/en/download/ 54 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg 55 | [coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master 56 | [downloads-image]: https://img.shields.io/npm/dm/forwarded.svg 57 | [downloads-url]: https://npmjs.org/package/forwarded 58 | -------------------------------------------------------------------------------- /node_modules/forwarded/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * forwarded 3 | * Copyright(c) 2014-2017 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = forwarded 15 | 16 | /** 17 | * Get all addresses in the request, using the `X-Forwarded-For` header. 18 | * 19 | * @param {object} req 20 | * @return {array} 21 | * @public 22 | */ 23 | 24 | function forwarded (req) { 25 | if (!req) { 26 | throw new TypeError('argument req is required') 27 | } 28 | 29 | // simple header parsing 30 | var proxyAddrs = parse(req.headers['x-forwarded-for'] || '') 31 | var socketAddr = getSocketAddr(req) 32 | var addrs = [socketAddr].concat(proxyAddrs) 33 | 34 | // return all addresses 35 | return addrs 36 | } 37 | 38 | /** 39 | * Get the socket address for a request. 40 | * 41 | * @param {object} req 42 | * @return {string} 43 | * @private 44 | */ 45 | 46 | function getSocketAddr (req) { 47 | return req.socket 48 | ? req.socket.remoteAddress 49 | : req.connection.remoteAddress 50 | } 51 | 52 | /** 53 | * Parse the X-Forwarded-For header. 54 | * 55 | * @param {string} header 56 | * @private 57 | */ 58 | 59 | function parse (header) { 60 | var end = header.length 61 | var list = [] 62 | var start = header.length 63 | 64 | // gather addresses, backwards 65 | for (var i = header.length - 1; i >= 0; i--) { 66 | switch (header.charCodeAt(i)) { 67 | case 0x20: /* */ 68 | if (start === end) { 69 | start = end = i 70 | } 71 | break 72 | case 0x2c: /* , */ 73 | if (start !== end) { 74 | list.push(header.substring(start, end)) 75 | } 76 | start = end = i 77 | break 78 | default: 79 | start = i 80 | break 81 | } 82 | } 83 | 84 | // final address 85 | if (start !== end) { 86 | list.push(header.substring(start, end)) 87 | } 88 | 89 | return list 90 | } 91 | -------------------------------------------------------------------------------- /node_modules/fresh/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.5.2 / 2017-09-13 2 | ================== 3 | 4 | * Fix regression matching multiple ETags in `If-None-Match` 5 | * perf: improve `If-None-Match` token parsing 6 | 7 | 0.5.1 / 2017-09-11 8 | ================== 9 | 10 | * Fix handling of modified headers with invalid dates 11 | * perf: improve ETag match loop 12 | 13 | 0.5.0 / 2017-02-21 14 | ================== 15 | 16 | * Fix incorrect result when `If-None-Match` has both `*` and ETags 17 | * Fix weak `ETag` matching to match spec 18 | * perf: delay reading header values until needed 19 | * perf: skip checking modified time if ETag check failed 20 | * perf: skip parsing `If-None-Match` when no `ETag` header 21 | * perf: use `Date.parse` instead of `new Date` 22 | 23 | 0.4.0 / 2017-02-05 24 | ================== 25 | 26 | * Fix false detection of `no-cache` request directive 27 | * perf: enable strict mode 28 | * perf: hoist regular expressions 29 | * perf: remove duplicate conditional 30 | * perf: remove unnecessary boolean coercions 31 | 32 | 0.3.0 / 2015-05-12 33 | ================== 34 | 35 | * Add weak `ETag` matching support 36 | 37 | 0.2.4 / 2014-09-07 38 | ================== 39 | 40 | * Support Node.js 0.6 41 | 42 | 0.2.3 / 2014-09-07 43 | ================== 44 | 45 | * Move repository to jshttp 46 | 47 | 0.2.2 / 2014-02-19 48 | ================== 49 | 50 | * Revert "Fix for blank page on Safari reload" 51 | 52 | 0.2.1 / 2014-01-29 53 | ================== 54 | 55 | * Fix for blank page on Safari reload 56 | 57 | 0.2.0 / 2013-08-11 58 | ================== 59 | 60 | * Return stale for `Cache-Control: no-cache` 61 | 62 | 0.1.0 / 2012-06-15 63 | ================== 64 | 65 | * Add `If-None-Match: *` support 66 | 67 | 0.0.1 / 2012-06-10 68 | ================== 69 | 70 | * Initial release 71 | -------------------------------------------------------------------------------- /node_modules/fresh/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2016-2017 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/http-errors/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Alexander Shtuchkin 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/encodings/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Update this array if you add/rename/remove files in this directory. 4 | // We support Browserify by skipping automatic module discovery and requiring modules directly. 5 | var modules = [ 6 | require("./internal"), 7 | require("./utf16"), 8 | require("./utf7"), 9 | require("./sbcs-codec"), 10 | require("./sbcs-data"), 11 | require("./sbcs-data-generated"), 12 | require("./dbcs-codec"), 13 | require("./dbcs-data"), 14 | ]; 15 | 16 | // Put all encoding/alias/codec definitions to single object and export it. 17 | for (var i = 0; i < modules.length; i++) { 18 | var module = modules[i]; 19 | for (var enc in module) 20 | if (Object.prototype.hasOwnProperty.call(module, enc)) 21 | exports[enc] = module[enc]; 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/encodings/tables/gb18030-ranges.json: -------------------------------------------------------------------------------- 1 | {"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]} -------------------------------------------------------------------------------- /node_modules/iconv-lite/encodings/tables/gbk-added.json: -------------------------------------------------------------------------------- 1 | [ 2 | ["a140","",62], 3 | ["a180","",32], 4 | ["a240","",62], 5 | ["a280","",32], 6 | ["a2ab","",5], 7 | ["a2e3","€"], 8 | ["a2ef",""], 9 | ["a2fd",""], 10 | ["a340","",62], 11 | ["a380","",31," "], 12 | ["a440","",62], 13 | ["a480","",32], 14 | ["a4f4","",10], 15 | ["a540","",62], 16 | ["a580","",32], 17 | ["a5f7","",7], 18 | ["a640","",62], 19 | ["a680","",32], 20 | ["a6b9","",7], 21 | ["a6d9","",6], 22 | ["a6ec",""], 23 | ["a6f3",""], 24 | ["a6f6","",8], 25 | ["a740","",62], 26 | ["a780","",32], 27 | ["a7c2","",14], 28 | ["a7f2","",12], 29 | ["a896","",10], 30 | ["a8bc",""], 31 | ["a8bf","ǹ"], 32 | ["a8c1",""], 33 | ["a8ea","",20], 34 | ["a958",""], 35 | ["a95b",""], 36 | ["a95d",""], 37 | ["a989","〾⿰",11], 38 | ["a997","",12], 39 | ["a9f0","",14], 40 | ["aaa1","",93], 41 | ["aba1","",93], 42 | ["aca1","",93], 43 | ["ada1","",93], 44 | ["aea1","",93], 45 | ["afa1","",93], 46 | ["d7fa","",4], 47 | ["f8a1","",93], 48 | ["f9a1","",93], 49 | ["faa1","",93], 50 | ["fba1","",93], 51 | ["fca1","",93], 52 | ["fda1","",93], 53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"], 54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93] 55 | ] 56 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/lib/bom-handling.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var BOMChar = '\uFEFF'; 4 | 5 | exports.PrependBOM = PrependBOMWrapper 6 | function PrependBOMWrapper(encoder, options) { 7 | this.encoder = encoder; 8 | this.addBOM = true; 9 | } 10 | 11 | PrependBOMWrapper.prototype.write = function(str) { 12 | if (this.addBOM) { 13 | str = BOMChar + str; 14 | this.addBOM = false; 15 | } 16 | 17 | return this.encoder.write(str); 18 | } 19 | 20 | PrependBOMWrapper.prototype.end = function() { 21 | return this.encoder.end(); 22 | } 23 | 24 | 25 | //------------------------------------------------------------------------------ 26 | 27 | exports.StripBOM = StripBOMWrapper; 28 | function StripBOMWrapper(decoder, options) { 29 | this.decoder = decoder; 30 | this.pass = false; 31 | this.options = options || {}; 32 | } 33 | 34 | StripBOMWrapper.prototype.write = function(buf) { 35 | var res = this.decoder.write(buf); 36 | if (this.pass || !res) 37 | return res; 38 | 39 | if (res[0] === BOMChar) { 40 | res = res.slice(1); 41 | if (typeof this.options.stripBOM === 'function') 42 | this.options.stripBOM(); 43 | } 44 | 45 | this.pass = true; 46 | return res; 47 | } 48 | 49 | StripBOMWrapper.prototype.end = function() { 50 | return this.decoder.end(); 51 | } 52 | 53 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------------------------- 2 | * Copyright (c) Microsoft Corporation. All rights reserved. 3 | * Licensed under the MIT License. 4 | * REQUIREMENT: This definition is dependent on the @types/node definition. 5 | * Install with `npm install @types/node --save-dev` 6 | *--------------------------------------------------------------------------------------------*/ 7 | 8 | declare module 'iconv-lite' { 9 | export function decode(buffer: Buffer, encoding: string, options?: Options): string; 10 | 11 | export function encode(content: string, encoding: string, options?: Options): Buffer; 12 | 13 | export function encodingExists(encoding: string): boolean; 14 | 15 | export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 16 | 17 | export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream; 18 | } 19 | 20 | export interface Options { 21 | stripBOM?: boolean; 22 | addBOM?: boolean; 23 | defaultEncoding?: string; 24 | } 25 | -------------------------------------------------------------------------------- /node_modules/iconv-lite/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "iconv-lite@0.4.24", 3 | "_id": "iconv-lite@0.4.24", 4 | "_inBundle": false, 5 | "_integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 6 | "_location": "/iconv-lite", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "iconv-lite@0.4.24", 12 | "name": "iconv-lite", 13 | "escapedName": "iconv-lite", 14 | "rawSpec": "0.4.24", 15 | "saveSpec": null, 16 | "fetchSpec": "0.4.24" 17 | }, 18 | "_requiredBy": [ 19 | "/body-parser", 20 | "/raw-body" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 23 | "_shasum": "2022b4b25fbddc21d2f524974a474aafe733908b", 24 | "_spec": "iconv-lite@0.4.24", 25 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\body-parser", 26 | "author": { 27 | "name": "Alexander Shtuchkin", 28 | "email": "ashtuchkin@gmail.com" 29 | }, 30 | "browser": { 31 | "./lib/extend-node": false, 32 | "./lib/streams": false 33 | }, 34 | "bugs": { 35 | "url": "https://github.com/ashtuchkin/iconv-lite/issues" 36 | }, 37 | "bundleDependencies": false, 38 | "dependencies": { 39 | "safer-buffer": ">= 2.1.2 < 3" 40 | }, 41 | "deprecated": false, 42 | "description": "Convert character encodings in pure javascript.", 43 | "devDependencies": { 44 | "async": "*", 45 | "errto": "*", 46 | "iconv": "*", 47 | "istanbul": "*", 48 | "mocha": "^3.1.0", 49 | "request": "~2.87.0", 50 | "semver": "*", 51 | "unorm": "*" 52 | }, 53 | "engines": { 54 | "node": ">=0.10.0" 55 | }, 56 | "homepage": "https://github.com/ashtuchkin/iconv-lite", 57 | "keywords": [ 58 | "iconv", 59 | "convert", 60 | "charset", 61 | "icu" 62 | ], 63 | "license": "MIT", 64 | "main": "./lib/index.js", 65 | "name": "iconv-lite", 66 | "repository": { 67 | "type": "git", 68 | "url": "git://github.com/ashtuchkin/iconv-lite.git" 69 | }, 70 | "scripts": { 71 | "coverage": "istanbul cover _mocha -- --grep .", 72 | "coverage-open": "open coverage/lcov-report/index.html", 73 | "test": "mocha --reporter spec --grep ." 74 | }, 75 | "typings": "./lib/index.d.ts", 76 | "version": "0.4.24" 77 | } 78 | -------------------------------------------------------------------------------- /node_modules/inherits/LICENSE: -------------------------------------------------------------------------------- 1 | The ISC License 2 | 3 | Copyright (c) Isaac Z. Schlueter 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND 11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | 17 | -------------------------------------------------------------------------------- /node_modules/inherits/README.md: -------------------------------------------------------------------------------- 1 | Browser-friendly inheritance fully compatible with standard node.js 2 | [inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor). 3 | 4 | This package exports standard `inherits` from node.js `util` module in 5 | node environment, but also provides alternative browser-friendly 6 | implementation through [browser 7 | field](https://gist.github.com/shtylman/4339901). Alternative 8 | implementation is a literal copy of standard one located in standalone 9 | module to avoid requiring of `util`. It also has a shim for old 10 | browsers with no `Object.create` support. 11 | 12 | While keeping you sure you are using standard `inherits` 13 | implementation in node.js environment, it allows bundlers such as 14 | [browserify](https://github.com/substack/node-browserify) to not 15 | include full `util` package to your client code if all you need is 16 | just `inherits` function. It worth, because browser shim for `util` 17 | package is large and `inherits` is often the single function you need 18 | from it. 19 | 20 | It's recommended to use this package instead of 21 | `require('util').inherits` for any code that has chances to be used 22 | not only in node.js but in browser too. 23 | 24 | ## usage 25 | 26 | ```js 27 | var inherits = require('inherits'); 28 | // then use exactly as the standard one 29 | ``` 30 | 31 | ## note on version ~1.0 32 | 33 | Version ~1.0 had completely different motivation and is not compatible 34 | neither with 2.0 nor with standard node.js `inherits`. 35 | 36 | If you are using version ~1.0 and planning to switch to ~2.0, be 37 | careful: 38 | 39 | * new version uses `super_` instead of `super` for referencing 40 | superclass 41 | * new version overwrites current prototype while old one preserves any 42 | existing fields on it 43 | -------------------------------------------------------------------------------- /node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | /* istanbul ignore next */ 4 | if (typeof util.inherits !== 'function') throw ''; 5 | module.exports = util.inherits; 6 | } catch (e) { 7 | /* istanbul ignore next */ 8 | module.exports = require('./inherits_browser.js'); 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/inherits/inherits_browser.js: -------------------------------------------------------------------------------- 1 | if (typeof Object.create === 'function') { 2 | // implementation from standard node.js 'util' module 3 | module.exports = function inherits(ctor, superCtor) { 4 | if (superCtor) { 5 | ctor.super_ = superCtor 6 | ctor.prototype = Object.create(superCtor.prototype, { 7 | constructor: { 8 | value: ctor, 9 | enumerable: false, 10 | writable: true, 11 | configurable: true 12 | } 13 | }) 14 | } 15 | }; 16 | } else { 17 | // old school shim for old browsers 18 | module.exports = function inherits(ctor, superCtor) { 19 | if (superCtor) { 20 | ctor.super_ = superCtor 21 | var TempCtor = function () {} 22 | TempCtor.prototype = superCtor.prototype 23 | ctor.prototype = new TempCtor() 24 | ctor.prototype.constructor = ctor 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /node_modules/inherits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "inherits@2.0.4", 3 | "_id": "inherits@2.0.4", 4 | "_inBundle": false, 5 | "_integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 6 | "_location": "/inherits", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "inherits@2.0.4", 12 | "name": "inherits", 13 | "escapedName": "inherits", 14 | "rawSpec": "2.0.4", 15 | "saveSpec": null, 16 | "fetchSpec": "2.0.4" 17 | }, 18 | "_requiredBy": [ 19 | "/http-errors" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 22 | "_shasum": "0fa2c64f932917c3433a0ded55363aae37416b7c", 23 | "_spec": "inherits@2.0.4", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\http-errors", 25 | "browser": "./inherits_browser.js", 26 | "bugs": { 27 | "url": "https://github.com/isaacs/inherits/issues" 28 | }, 29 | "bundleDependencies": false, 30 | "deprecated": false, 31 | "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", 32 | "devDependencies": { 33 | "tap": "^14.2.4" 34 | }, 35 | "files": [ 36 | "inherits.js", 37 | "inherits_browser.js" 38 | ], 39 | "homepage": "https://github.com/isaacs/inherits#readme", 40 | "keywords": [ 41 | "inheritance", 42 | "class", 43 | "klass", 44 | "oop", 45 | "object-oriented", 46 | "inherits", 47 | "browser", 48 | "browserify" 49 | ], 50 | "license": "ISC", 51 | "main": "./inherits.js", 52 | "name": "inherits", 53 | "repository": { 54 | "type": "git", 55 | "url": "git://github.com/isaacs/inherits.git" 56 | }, 57 | "scripts": { 58 | "test": "tap" 59 | }, 60 | "version": "2.0.4" 61 | } 62 | -------------------------------------------------------------------------------- /node_modules/ipaddr.js/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011-2017 whitequark 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /node_modules/ipaddr.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "ipaddr.js@1.9.1", 3 | "_id": "ipaddr.js@1.9.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", 6 | "_location": "/ipaddr.js", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "ipaddr.js@1.9.1", 12 | "name": "ipaddr.js", 13 | "escapedName": "ipaddr.js", 14 | "rawSpec": "1.9.1", 15 | "saveSpec": null, 16 | "fetchSpec": "1.9.1" 17 | }, 18 | "_requiredBy": [ 19 | "/proxy-addr" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", 22 | "_shasum": "bff38543eeb8984825079ff3a2a8e6cbd46781b3", 23 | "_spec": "ipaddr.js@1.9.1", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\proxy-addr", 25 | "author": { 26 | "name": "whitequark", 27 | "email": "whitequark@whitequark.org" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/whitequark/ipaddr.js/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "dependencies": {}, 34 | "deprecated": false, 35 | "description": "A library for manipulating IPv4 and IPv6 addresses in JavaScript.", 36 | "devDependencies": { 37 | "coffee-script": "~1.12.6", 38 | "nodeunit": "^0.11.3", 39 | "uglify-js": "~3.0.19" 40 | }, 41 | "directories": { 42 | "lib": "./lib" 43 | }, 44 | "engines": { 45 | "node": ">= 0.10" 46 | }, 47 | "files": [ 48 | "lib/", 49 | "LICENSE", 50 | "ipaddr.min.js" 51 | ], 52 | "homepage": "https://github.com/whitequark/ipaddr.js#readme", 53 | "keywords": [ 54 | "ip", 55 | "ipv4", 56 | "ipv6" 57 | ], 58 | "license": "MIT", 59 | "main": "./lib/ipaddr.js", 60 | "name": "ipaddr.js", 61 | "repository": { 62 | "type": "git", 63 | "url": "git://github.com/whitequark/ipaddr.js.git" 64 | }, 65 | "scripts": { 66 | "test": "cake build test" 67 | }, 68 | "types": "./lib/ipaddr.js.d.ts", 69 | "version": "1.9.1" 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /node_modules/media-typer/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/media-typer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "media-typer@0.3.0", 3 | "_id": "media-typer@0.3.0", 4 | "_inBundle": false, 5 | "_integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", 6 | "_location": "/media-typer", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "media-typer@0.3.0", 12 | "name": "media-typer", 13 | "escapedName": "media-typer", 14 | "rawSpec": "0.3.0", 15 | "saveSpec": null, 16 | "fetchSpec": "0.3.0" 17 | }, 18 | "_requiredBy": [ 19 | "/type-is" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 22 | "_shasum": "8710d7af0aa626f8fffa1ce00168545263255748", 23 | "_spec": "media-typer@0.3.0", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\type-is", 25 | "author": { 26 | "name": "Douglas Christopher Wilson", 27 | "email": "doug@somethingdoug.com" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/jshttp/media-typer/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "deprecated": false, 34 | "description": "Simple RFC 6838 media type parser and formatter", 35 | "devDependencies": { 36 | "istanbul": "0.3.2", 37 | "mocha": "~1.21.4", 38 | "should": "~4.0.4" 39 | }, 40 | "engines": { 41 | "node": ">= 0.6" 42 | }, 43 | "files": [ 44 | "LICENSE", 45 | "HISTORY.md", 46 | "index.js" 47 | ], 48 | "homepage": "https://github.com/jshttp/media-typer#readme", 49 | "license": "MIT", 50 | "name": "media-typer", 51 | "repository": { 52 | "type": "git", 53 | "url": "git+https://github.com/jshttp/media-typer.git" 54 | }, 55 | "scripts": { 56 | "test": "mocha --reporter spec --check-leaks --bail test/", 57 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 58 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 59 | }, 60 | "version": "0.3.0" 61 | } 62 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.0.0 / 2015-03-01 7 | ================== 8 | 9 | * Add option to only add new descriptors 10 | * Add simple argument validation 11 | * Add jsdoc to source file 12 | 13 | 0.0.2 / 2013-12-14 14 | ================== 15 | 16 | * Move repository to `component` organization 17 | 18 | 0.0.1 / 2013-10-29 19 | ================== 20 | 21 | * Initial release 22 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/README.md: -------------------------------------------------------------------------------- 1 | # Merge Descriptors 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Build Status][travis-image]][travis-url] 6 | [![Test Coverage][coveralls-image]][coveralls-url] 7 | 8 | Merge objects using descriptors. 9 | 10 | ```js 11 | var thing = { 12 | get name() { 13 | return 'jon' 14 | } 15 | } 16 | 17 | var animal = { 18 | 19 | } 20 | 21 | merge(animal, thing) 22 | 23 | animal.name === 'jon' 24 | ``` 25 | 26 | ## API 27 | 28 | ### merge(destination, source) 29 | 30 | Redefines `destination`'s descriptors with `source`'s. 31 | 32 | ### merge(destination, source, false) 33 | 34 | Defines `source`'s descriptors on `destination` if `destination` does not have 35 | a descriptor by the same name. 36 | 37 | ## License 38 | 39 | [MIT](LICENSE) 40 | 41 | [npm-image]: https://img.shields.io/npm/v/merge-descriptors.svg 42 | [npm-url]: https://npmjs.org/package/merge-descriptors 43 | [travis-image]: https://img.shields.io/travis/component/merge-descriptors/master.svg 44 | [travis-url]: https://travis-ci.org/component/merge-descriptors 45 | [coveralls-image]: https://img.shields.io/coveralls/component/merge-descriptors/master.svg 46 | [coveralls-url]: https://coveralls.io/r/component/merge-descriptors?branch=master 47 | [downloads-image]: https://img.shields.io/npm/dm/merge-descriptors.svg 48 | [downloads-url]: https://npmjs.org/package/merge-descriptors 49 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * merge-descriptors 3 | * Copyright(c) 2014 Jonathan Ong 4 | * Copyright(c) 2015 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | 'use strict' 9 | 10 | /** 11 | * Module exports. 12 | * @public 13 | */ 14 | 15 | module.exports = merge 16 | 17 | /** 18 | * Module variables. 19 | * @private 20 | */ 21 | 22 | var hasOwnProperty = Object.prototype.hasOwnProperty 23 | 24 | /** 25 | * Merge the property descriptors of `src` into `dest` 26 | * 27 | * @param {object} dest Object to add descriptors to 28 | * @param {object} src Object to clone descriptors from 29 | * @param {boolean} [redefine=true] Redefine `dest` properties with `src` properties 30 | * @returns {object} Reference to dest 31 | * @public 32 | */ 33 | 34 | function merge(dest, src, redefine) { 35 | if (!dest) { 36 | throw new TypeError('argument dest is required') 37 | } 38 | 39 | if (!src) { 40 | throw new TypeError('argument src is required') 41 | } 42 | 43 | if (redefine === undefined) { 44 | // Default to true 45 | redefine = true 46 | } 47 | 48 | Object.getOwnPropertyNames(src).forEach(function forEachOwnPropertyName(name) { 49 | if (!redefine && hasOwnProperty.call(dest, name)) { 50 | // Skip desriptor 51 | return 52 | } 53 | 54 | // Copy descriptor 55 | var descriptor = Object.getOwnPropertyDescriptor(src, name) 56 | Object.defineProperty(dest, name, descriptor) 57 | }) 58 | 59 | return dest 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/merge-descriptors/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "merge-descriptors@1.0.1", 3 | "_id": "merge-descriptors@1.0.1", 4 | "_inBundle": false, 5 | "_integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", 6 | "_location": "/merge-descriptors", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "merge-descriptors@1.0.1", 12 | "name": "merge-descriptors", 13 | "escapedName": "merge-descriptors", 14 | "rawSpec": "1.0.1", 15 | "saveSpec": null, 16 | "fetchSpec": "1.0.1" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 22 | "_shasum": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61", 23 | "_spec": "merge-descriptors@1.0.1", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "author": { 26 | "name": "Jonathan Ong", 27 | "email": "me@jongleberry.com", 28 | "url": "http://jongleberry.com" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/component/merge-descriptors/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "contributors": [ 35 | { 36 | "name": "Douglas Christopher Wilson", 37 | "email": "doug@somethingdoug.com" 38 | }, 39 | { 40 | "name": "Mike Grabowski", 41 | "email": "grabbou@gmail.com" 42 | } 43 | ], 44 | "deprecated": false, 45 | "description": "Merge objects using descriptors", 46 | "devDependencies": { 47 | "istanbul": "0.4.1", 48 | "mocha": "1.21.5" 49 | }, 50 | "files": [ 51 | "HISTORY.md", 52 | "LICENSE", 53 | "README.md", 54 | "index.js" 55 | ], 56 | "homepage": "https://github.com/component/merge-descriptors#readme", 57 | "license": "MIT", 58 | "name": "merge-descriptors", 59 | "repository": { 60 | "type": "git", 61 | "url": "git+https://github.com/component/merge-descriptors.git" 62 | }, 63 | "scripts": { 64 | "test": "mocha --reporter spec --bail --check-leaks test/", 65 | "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", 66 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" 67 | }, 68 | "version": "1.0.1" 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/methods/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2016-01-17 2 | ================== 3 | 4 | * perf: enable strict mode 5 | 6 | 1.1.1 / 2014-12-30 7 | ================== 8 | 9 | * Improve `browserify` support 10 | 11 | 1.1.0 / 2014-07-05 12 | ================== 13 | 14 | * Add `CONNECT` method 15 | 16 | 1.0.1 / 2014-06-02 17 | ================== 18 | 19 | * Fix module to work with harmony transform 20 | 21 | 1.0.0 / 2014-05-08 22 | ================== 23 | 24 | * Add `PURGE` method 25 | 26 | 0.1.0 / 2013-10-28 27 | ================== 28 | 29 | * Add `http.METHODS` support 30 | -------------------------------------------------------------------------------- /node_modules/methods/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013-2014 TJ Holowaychuk 4 | Copyright (c) 2015-2016 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /node_modules/methods/README.md: -------------------------------------------------------------------------------- 1 | # Methods 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-version-image]][node-version-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | HTTP verbs that Node.js core's HTTP parser supports. 10 | 11 | This module provides an export that is just like `http.METHODS` from Node.js core, 12 | with the following differences: 13 | 14 | * All method names are lower-cased. 15 | * Contains a fallback list of methods for Node.js versions that do not have a 16 | `http.METHODS` export (0.10 and lower). 17 | * Provides the fallback list when using tools like `browserify` without pulling 18 | in the `http` shim module. 19 | 20 | ## Install 21 | 22 | ```bash 23 | $ npm install methods 24 | ``` 25 | 26 | ## API 27 | 28 | ```js 29 | var methods = require('methods') 30 | ``` 31 | 32 | ### methods 33 | 34 | This is an array of lower-cased method names that Node.js supports. If Node.js 35 | provides the `http.METHODS` export, then this is the same array lower-cased, 36 | otherwise it is a snapshot of the verbs from Node.js 0.10. 37 | 38 | ## License 39 | 40 | [MIT](LICENSE) 41 | 42 | [npm-image]: https://img.shields.io/npm/v/methods.svg?style=flat 43 | [npm-url]: https://npmjs.org/package/methods 44 | [node-version-image]: https://img.shields.io/node/v/methods.svg?style=flat 45 | [node-version-url]: https://nodejs.org/en/download/ 46 | [travis-image]: https://img.shields.io/travis/jshttp/methods.svg?style=flat 47 | [travis-url]: https://travis-ci.org/jshttp/methods 48 | [coveralls-image]: https://img.shields.io/coveralls/jshttp/methods.svg?style=flat 49 | [coveralls-url]: https://coveralls.io/r/jshttp/methods?branch=master 50 | [downloads-image]: https://img.shields.io/npm/dm/methods.svg?style=flat 51 | [downloads-url]: https://npmjs.org/package/methods 52 | -------------------------------------------------------------------------------- /node_modules/methods/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * methods 3 | * Copyright(c) 2013-2014 TJ Holowaychuk 4 | * Copyright(c) 2015-2016 Douglas Christopher Wilson 5 | * MIT Licensed 6 | */ 7 | 8 | 'use strict'; 9 | 10 | /** 11 | * Module dependencies. 12 | * @private 13 | */ 14 | 15 | var http = require('http'); 16 | 17 | /** 18 | * Module exports. 19 | * @public 20 | */ 21 | 22 | module.exports = getCurrentNodeMethods() || getBasicNodeMethods(); 23 | 24 | /** 25 | * Get the current Node.js methods. 26 | * @private 27 | */ 28 | 29 | function getCurrentNodeMethods() { 30 | return http.METHODS && http.METHODS.map(function lowerCaseMethod(method) { 31 | return method.toLowerCase(); 32 | }); 33 | } 34 | 35 | /** 36 | * Get the "basic" Node.js methods, a snapshot from Node.js 0.10. 37 | * @private 38 | */ 39 | 40 | function getBasicNodeMethods() { 41 | return [ 42 | 'get', 43 | 'post', 44 | 'put', 45 | 'head', 46 | 'delete', 47 | 'options', 48 | 'trace', 49 | 'copy', 50 | 'lock', 51 | 'mkcol', 52 | 'move', 53 | 'purge', 54 | 'propfind', 55 | 'proppatch', 56 | 'unlock', 57 | 'report', 58 | 'mkactivity', 59 | 'checkout', 60 | 'merge', 61 | 'm-search', 62 | 'notify', 63 | 'subscribe', 64 | 'unsubscribe', 65 | 'patch', 66 | 'search', 67 | 'connect' 68 | ]; 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/methods/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "methods@~1.1.2", 3 | "_id": "methods@1.1.2", 4 | "_inBundle": false, 5 | "_integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", 6 | "_location": "/methods", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "methods@~1.1.2", 12 | "name": "methods", 13 | "escapedName": "methods", 14 | "rawSpec": "~1.1.2", 15 | "saveSpec": null, 16 | "fetchSpec": "~1.1.2" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 22 | "_shasum": "5529a4d67654134edcc5266656835b0f851afcee", 23 | "_spec": "methods@~1.1.2", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "browser": { 26 | "http": false 27 | }, 28 | "bugs": { 29 | "url": "https://github.com/jshttp/methods/issues" 30 | }, 31 | "bundleDependencies": false, 32 | "contributors": [ 33 | { 34 | "name": "Douglas Christopher Wilson", 35 | "email": "doug@somethingdoug.com" 36 | }, 37 | { 38 | "name": "Jonathan Ong", 39 | "email": "me@jongleberry.com", 40 | "url": "http://jongleberry.com" 41 | }, 42 | { 43 | "name": "TJ Holowaychuk", 44 | "email": "tj@vision-media.ca", 45 | "url": "http://tjholowaychuk.com" 46 | } 47 | ], 48 | "deprecated": false, 49 | "description": "HTTP methods that node supports", 50 | "devDependencies": { 51 | "istanbul": "0.4.1", 52 | "mocha": "1.21.5" 53 | }, 54 | "engines": { 55 | "node": ">= 0.6" 56 | }, 57 | "files": [ 58 | "index.js", 59 | "HISTORY.md", 60 | "LICENSE" 61 | ], 62 | "homepage": "https://github.com/jshttp/methods#readme", 63 | "keywords": [ 64 | "http", 65 | "methods" 66 | ], 67 | "license": "MIT", 68 | "name": "methods", 69 | "repository": { 70 | "type": "git", 71 | "url": "git+https://github.com/jshttp/methods.git" 72 | }, 73 | "scripts": { 74 | "test": "mocha --reporter spec --bail --check-leaks test/", 75 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 76 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 77 | }, 78 | "version": "1.1.2" 79 | } 80 | -------------------------------------------------------------------------------- /node_modules/mime-db/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /node_modules/mime-types/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/mime/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3solution/simple-node-server/3fca79a2c9bb0982a8770de5f51dcbef822e7043/node_modules/mime/.npmignore -------------------------------------------------------------------------------- /node_modules/mime/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | var mime = require('./mime.js'); 4 | var file = process.argv[2]; 5 | var type = mime.lookup(file); 6 | 7 | process.stdout.write(type + '\n'); 8 | 9 | -------------------------------------------------------------------------------- /node_modules/mime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "mime@1.6.0", 3 | "_id": "mime@1.6.0", 4 | "_inBundle": false, 5 | "_integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", 6 | "_location": "/mime", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "mime@1.6.0", 12 | "name": "mime", 13 | "escapedName": "mime", 14 | "rawSpec": "1.6.0", 15 | "saveSpec": null, 16 | "fetchSpec": "1.6.0" 17 | }, 18 | "_requiredBy": [ 19 | "/send" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 22 | "_shasum": "32cd9e5c64553bd58d19a568af452acff04981b1", 23 | "_spec": "mime@1.6.0", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\send", 25 | "author": { 26 | "name": "Robert Kieffer", 27 | "email": "robert@broofa.com", 28 | "url": "http://github.com/broofa" 29 | }, 30 | "bin": { 31 | "mime": "cli.js" 32 | }, 33 | "bugs": { 34 | "url": "https://github.com/broofa/node-mime/issues" 35 | }, 36 | "bundleDependencies": false, 37 | "contributors": [ 38 | { 39 | "name": "Benjamin Thomas", 40 | "email": "benjamin@benjaminthomas.org", 41 | "url": "http://github.com/bentomas" 42 | } 43 | ], 44 | "dependencies": {}, 45 | "deprecated": false, 46 | "description": "A comprehensive library for mime-type mapping", 47 | "devDependencies": { 48 | "github-release-notes": "0.13.1", 49 | "mime-db": "1.31.0", 50 | "mime-score": "1.1.0" 51 | }, 52 | "engines": { 53 | "node": ">=4" 54 | }, 55 | "homepage": "https://github.com/broofa/node-mime#readme", 56 | "keywords": [ 57 | "util", 58 | "mime" 59 | ], 60 | "license": "MIT", 61 | "main": "mime.js", 62 | "name": "mime", 63 | "repository": { 64 | "url": "git+https://github.com/broofa/node-mime.git", 65 | "type": "git" 66 | }, 67 | "scripts": { 68 | "changelog": "gren changelog --tags=all --generate --override", 69 | "prepare": "node src/build.js", 70 | "test": "node src/test.js" 71 | }, 72 | "version": "1.6.0" 73 | } 74 | -------------------------------------------------------------------------------- /node_modules/mime/src/build.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | const fs = require('fs'); 6 | const path = require('path'); 7 | const mimeScore = require('mime-score'); 8 | 9 | let db = require('mime-db'); 10 | let chalk = require('chalk'); 11 | 12 | const STANDARD_FACET_SCORE = 900; 13 | 14 | const byExtension = {}; 15 | 16 | // Clear out any conflict extensions in mime-db 17 | for (let type in db) { 18 | let entry = db[type]; 19 | entry.type = type; 20 | 21 | if (!entry.extensions) continue; 22 | 23 | entry.extensions.forEach(ext => { 24 | if (ext in byExtension) { 25 | const e0 = entry; 26 | const e1 = byExtension[ext]; 27 | e0.pri = mimeScore(e0.type, e0.source); 28 | e1.pri = mimeScore(e1.type, e1.source); 29 | 30 | let drop = e0.pri < e1.pri ? e0 : e1; 31 | let keep = e0.pri >= e1.pri ? e0 : e1; 32 | drop.extensions = drop.extensions.filter(e => e !== ext); 33 | 34 | console.log(`${ext}: Keeping ${chalk.green(keep.type)} (${keep.pri}), dropping ${chalk.red(drop.type)} (${drop.pri})`); 35 | } 36 | byExtension[ext] = entry; 37 | }); 38 | } 39 | 40 | function writeTypesFile(types, path) { 41 | fs.writeFileSync(path, JSON.stringify(types)); 42 | } 43 | 44 | // Segregate into standard and non-standard types based on facet per 45 | // https://tools.ietf.org/html/rfc6838#section-3.1 46 | const types = {}; 47 | 48 | Object.keys(db).sort().forEach(k => { 49 | const entry = db[k]; 50 | types[entry.type] = entry.extensions; 51 | }); 52 | 53 | writeTypesFile(types, path.join(__dirname, '..', 'types.json')); 54 | -------------------------------------------------------------------------------- /node_modules/ms/license.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Zeit, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "ms@2.0.0", 3 | "_id": "ms@2.0.0", 4 | "_inBundle": false, 5 | "_integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 6 | "_location": "/ms", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "ms@2.0.0", 12 | "name": "ms", 13 | "escapedName": "ms", 14 | "rawSpec": "2.0.0", 15 | "saveSpec": null, 16 | "fetchSpec": "2.0.0" 17 | }, 18 | "_requiredBy": [ 19 | "/debug" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 22 | "_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8", 23 | "_spec": "ms@2.0.0", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\debug", 25 | "bugs": { 26 | "url": "https://github.com/zeit/ms/issues" 27 | }, 28 | "bundleDependencies": false, 29 | "deprecated": false, 30 | "description": "Tiny milisecond conversion utility", 31 | "devDependencies": { 32 | "eslint": "3.19.0", 33 | "expect.js": "0.3.1", 34 | "husky": "0.13.3", 35 | "lint-staged": "3.4.1", 36 | "mocha": "3.4.1" 37 | }, 38 | "eslintConfig": { 39 | "extends": "eslint:recommended", 40 | "env": { 41 | "node": true, 42 | "es6": true 43 | } 44 | }, 45 | "files": [ 46 | "index.js" 47 | ], 48 | "homepage": "https://github.com/zeit/ms#readme", 49 | "license": "MIT", 50 | "lint-staged": { 51 | "*.js": [ 52 | "npm run lint", 53 | "prettier --single-quote --write", 54 | "git add" 55 | ] 56 | }, 57 | "main": "./index", 58 | "name": "ms", 59 | "repository": { 60 | "type": "git", 61 | "url": "git+https://github.com/zeit/ms.git" 62 | }, 63 | "scripts": { 64 | "lint": "eslint lib/* bin/*", 65 | "precommit": "lint-staged", 66 | "test": "mocha tests.js" 67 | }, 68 | "version": "2.0.0" 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/ms/readme.md: -------------------------------------------------------------------------------- 1 | # ms 2 | 3 | [![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) 4 | [![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) 5 | 6 | Use this package to easily convert various time formats to milliseconds. 7 | 8 | ## Examples 9 | 10 | ```js 11 | ms('2 days') // 172800000 12 | ms('1d') // 86400000 13 | ms('10h') // 36000000 14 | ms('2.5 hrs') // 9000000 15 | ms('2h') // 7200000 16 | ms('1m') // 60000 17 | ms('5s') // 5000 18 | ms('1y') // 31557600000 19 | ms('100') // 100 20 | ``` 21 | 22 | ### Convert from milliseconds 23 | 24 | ```js 25 | ms(60000) // "1m" 26 | ms(2 * 60000) // "2m" 27 | ms(ms('10 hours')) // "10h" 28 | ``` 29 | 30 | ### Time format written-out 31 | 32 | ```js 33 | ms(60000, { long: true }) // "1 minute" 34 | ms(2 * 60000, { long: true }) // "2 minutes" 35 | ms(ms('10 hours'), { long: true }) // "10 hours" 36 | ``` 37 | 38 | ## Features 39 | 40 | - Works both in [node](https://nodejs.org) and in the browser. 41 | - If a number is supplied to `ms`, a string with a unit is returned. 42 | - If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`). 43 | - If you pass a string with a number and a valid unit, the number of equivalent ms is returned. 44 | 45 | ## Caught a bug? 46 | 47 | 1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device 48 | 2. Link the package to the global module directory: `npm link` 49 | 3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, node will now use your clone of ms! 50 | 51 | As always, you can run the tests using: `npm test` 52 | -------------------------------------------------------------------------------- /node_modules/negotiator/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 Federico Romero 4 | Copyright (c) 2012-2014 Isaac Z. Schlueter 5 | Copyright (c) 2014-2015 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/on-finished/HISTORY.md: -------------------------------------------------------------------------------- 1 | 2.3.0 / 2015-05-26 2 | ================== 3 | 4 | * Add defined behavior for HTTP `CONNECT` requests 5 | * Add defined behavior for HTTP `Upgrade` requests 6 | * deps: ee-first@1.1.1 7 | 8 | 2.2.1 / 2015-04-22 9 | ================== 10 | 11 | * Fix `isFinished(req)` when data buffered 12 | 13 | 2.2.0 / 2014-12-22 14 | ================== 15 | 16 | * Add message object to callback arguments 17 | 18 | 2.1.1 / 2014-10-22 19 | ================== 20 | 21 | * Fix handling of pipelined requests 22 | 23 | 2.1.0 / 2014-08-16 24 | ================== 25 | 26 | * Check if `socket` is detached 27 | * Return `undefined` for `isFinished` if state unknown 28 | 29 | 2.0.0 / 2014-08-16 30 | ================== 31 | 32 | * Add `isFinished` function 33 | * Move to `jshttp` organization 34 | * Remove support for plain socket argument 35 | * Rename to `on-finished` 36 | * Support both `req` and `res` as arguments 37 | * deps: ee-first@1.0.5 38 | 39 | 1.2.2 / 2014-06-10 40 | ================== 41 | 42 | * Reduce listeners added to emitters 43 | - avoids "event emitter leak" warnings when used multiple times on same request 44 | 45 | 1.2.1 / 2014-06-08 46 | ================== 47 | 48 | * Fix returned value when already finished 49 | 50 | 1.2.0 / 2014-06-05 51 | ================== 52 | 53 | * Call callback when called on already-finished socket 54 | 55 | 1.1.4 / 2014-05-27 56 | ================== 57 | 58 | * Support node.js 0.8 59 | 60 | 1.1.3 / 2014-04-30 61 | ================== 62 | 63 | * Make sure errors passed as instanceof `Error` 64 | 65 | 1.1.2 / 2014-04-18 66 | ================== 67 | 68 | * Default the `socket` to passed-in object 69 | 70 | 1.1.1 / 2014-01-16 71 | ================== 72 | 73 | * Rename module to `finished` 74 | 75 | 1.1.0 / 2013-12-25 76 | ================== 77 | 78 | * Call callback when called on already-errored socket 79 | 80 | 1.0.1 / 2013-12-20 81 | ================== 82 | 83 | * Actually pass the error to the callback 84 | 85 | 1.0.0 / 2013-12-20 86 | ================== 87 | 88 | * Initial release 89 | -------------------------------------------------------------------------------- /node_modules/on-finished/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Jonathan Ong 4 | Copyright (c) 2014 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/on-finished/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "on-finished@~2.3.0", 3 | "_id": "on-finished@2.3.0", 4 | "_inBundle": false, 5 | "_integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 6 | "_location": "/on-finished", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "on-finished@~2.3.0", 12 | "name": "on-finished", 13 | "escapedName": "on-finished", 14 | "rawSpec": "~2.3.0", 15 | "saveSpec": null, 16 | "fetchSpec": "~2.3.0" 17 | }, 18 | "_requiredBy": [ 19 | "/body-parser", 20 | "/express", 21 | "/finalhandler", 22 | "/send" 23 | ], 24 | "_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 25 | "_shasum": "20f1336481b083cd75337992a16971aa2d906947", 26 | "_spec": "on-finished@~2.3.0", 27 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 28 | "bugs": { 29 | "url": "https://github.com/jshttp/on-finished/issues" 30 | }, 31 | "bundleDependencies": false, 32 | "contributors": [ 33 | { 34 | "name": "Douglas Christopher Wilson", 35 | "email": "doug@somethingdoug.com" 36 | }, 37 | { 38 | "name": "Jonathan Ong", 39 | "email": "me@jongleberry.com", 40 | "url": "http://jongleberry.com" 41 | } 42 | ], 43 | "dependencies": { 44 | "ee-first": "1.1.1" 45 | }, 46 | "deprecated": false, 47 | "description": "Execute a callback when a request closes, finishes, or errors", 48 | "devDependencies": { 49 | "istanbul": "0.3.9", 50 | "mocha": "2.2.5" 51 | }, 52 | "engines": { 53 | "node": ">= 0.8" 54 | }, 55 | "files": [ 56 | "HISTORY.md", 57 | "LICENSE", 58 | "index.js" 59 | ], 60 | "homepage": "https://github.com/jshttp/on-finished#readme", 61 | "license": "MIT", 62 | "name": "on-finished", 63 | "repository": { 64 | "type": "git", 65 | "url": "git+https://github.com/jshttp/on-finished.git" 66 | }, 67 | "scripts": { 68 | "test": "mocha --reporter spec --bail --check-leaks test/", 69 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 70 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 71 | }, 72 | "version": "2.3.0" 73 | } 74 | -------------------------------------------------------------------------------- /node_modules/parseurl/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.3.3 / 2019-04-15 2 | ================== 3 | 4 | * Fix Node.js 0.8 return value inconsistencies 5 | 6 | 1.3.2 / 2017-09-09 7 | ================== 8 | 9 | * perf: reduce overhead for full URLs 10 | * perf: unroll the "fast-path" `RegExp` 11 | 12 | 1.3.1 / 2016-01-17 13 | ================== 14 | 15 | * perf: enable strict mode 16 | 17 | 1.3.0 / 2014-08-09 18 | ================== 19 | 20 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback 21 | * Return `undefined` if `req.url` is `undefined` 22 | 23 | 1.2.0 / 2014-07-21 24 | ================== 25 | 26 | * Cache URLs based on original value 27 | * Remove no-longer-needed URL mis-parse work-around 28 | * Simplify the "fast-path" `RegExp` 29 | 30 | 1.1.3 / 2014-07-08 31 | ================== 32 | 33 | * Fix typo 34 | 35 | 1.1.2 / 2014-07-08 36 | ================== 37 | 38 | * Seriously fix Node.js 0.8 compatibility 39 | 40 | 1.1.1 / 2014-07-08 41 | ================== 42 | 43 | * Fix Node.js 0.8 compatibility 44 | 45 | 1.1.0 / 2014-07-08 46 | ================== 47 | 48 | * Incorporate URL href-only parse fast-path 49 | 50 | 1.0.1 / 2014-03-08 51 | ================== 52 | 53 | * Add missing `require` 54 | 55 | 1.0.0 / 2014-03-08 56 | ================== 57 | 58 | * Genesis from `connect` 59 | -------------------------------------------------------------------------------- /node_modules/parseurl/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | (The MIT License) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2014-2017 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining 8 | a copy of this software and associated documentation files (the 9 | 'Software'), to deal in the Software without restriction, including 10 | without limitation the rights to use, copy, modify, merge, publish, 11 | distribute, sublicense, and/or sell copies of the Software, and to 12 | permit persons to whom the Software is furnished to do so, subject to 13 | the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/History.md: -------------------------------------------------------------------------------- 1 | 0.1.7 / 2015-07-28 2 | ================== 3 | 4 | * Fixed regression with escaped round brackets and matching groups. 5 | 6 | 0.1.6 / 2015-06-19 7 | ================== 8 | 9 | * Replace `index` feature by outputting all parameters, unnamed and named. 10 | 11 | 0.1.5 / 2015-05-08 12 | ================== 13 | 14 | * Add an index property for position in match result. 15 | 16 | 0.1.4 / 2015-03-05 17 | ================== 18 | 19 | * Add license information 20 | 21 | 0.1.3 / 2014-07-06 22 | ================== 23 | 24 | * Better array support 25 | * Improved support for trailing slash in non-ending mode 26 | 27 | 0.1.0 / 2014-03-06 28 | ================== 29 | 30 | * add options.end 31 | 32 | 0.0.2 / 2013-02-10 33 | ================== 34 | 35 | * Update to match current express 36 | * add .license property to component.json 37 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/Readme.md: -------------------------------------------------------------------------------- 1 | # Path-to-RegExp 2 | 3 | Turn an Express-style path string such as `/user/:name` into a regular expression. 4 | 5 | **Note:** This is a legacy branch. You should upgrade to `1.x`. 6 | 7 | ## Usage 8 | 9 | ```javascript 10 | var pathToRegexp = require('path-to-regexp'); 11 | ``` 12 | 13 | ### pathToRegexp(path, keys, options) 14 | 15 | - **path** A string in the express format, an array of such strings, or a regular expression 16 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings. 17 | - **options** 18 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive 19 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter. 20 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL. 21 | 22 | ```javascript 23 | var keys = []; 24 | var exp = pathToRegexp('/foo/:bar', keys); 25 | //keys = ['bar'] 26 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i 27 | ``` 28 | 29 | ## Live Demo 30 | 31 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/). 32 | 33 | ## License 34 | 35 | MIT 36 | -------------------------------------------------------------------------------- /node_modules/path-to-regexp/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "path-to-regexp@0.1.7", 3 | "_id": "path-to-regexp@0.1.7", 4 | "_inBundle": false, 5 | "_integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", 6 | "_location": "/path-to-regexp", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "path-to-regexp@0.1.7", 12 | "name": "path-to-regexp", 13 | "escapedName": "path-to-regexp", 14 | "rawSpec": "0.1.7", 15 | "saveSpec": null, 16 | "fetchSpec": "0.1.7" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 22 | "_shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c", 23 | "_spec": "path-to-regexp@0.1.7", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "bugs": { 26 | "url": "https://github.com/component/path-to-regexp/issues" 27 | }, 28 | "bundleDependencies": false, 29 | "component": { 30 | "scripts": { 31 | "path-to-regexp": "index.js" 32 | } 33 | }, 34 | "deprecated": false, 35 | "description": "Express style path to RegExp utility", 36 | "devDependencies": { 37 | "istanbul": "^0.2.6", 38 | "mocha": "^1.17.1" 39 | }, 40 | "files": [ 41 | "index.js", 42 | "LICENSE" 43 | ], 44 | "homepage": "https://github.com/component/path-to-regexp#readme", 45 | "keywords": [ 46 | "express", 47 | "regexp" 48 | ], 49 | "license": "MIT", 50 | "name": "path-to-regexp", 51 | "repository": { 52 | "type": "git", 53 | "url": "git+https://github.com/component/path-to-regexp.git" 54 | }, 55 | "scripts": { 56 | "test": "istanbul cover _mocha -- -R spec" 57 | }, 58 | "version": "0.1.7" 59 | } 60 | -------------------------------------------------------------------------------- /node_modules/proxy-addr/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 160 11 | 12 | [test/*] 13 | max_line_length = off 14 | 15 | [LICENSE.md] 16 | indent_size = off 17 | 18 | [*.md] 19 | max_line_length = off 20 | 21 | [*.json] 22 | max_line_length = off 23 | 24 | [Makefile] 25 | max_line_length = off 26 | 27 | [CHANGELOG.md] 28 | indent_style = space 29 | indent_size = 2 30 | 31 | [LICENSE] 32 | indent_size = 2 33 | max_line_length = off 34 | 35 | [coverage/**/*] 36 | indent_size = off 37 | indent_style = off 38 | indent = off 39 | max_line_length = off 40 | -------------------------------------------------------------------------------- /node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | coverage/ 3 | -------------------------------------------------------------------------------- /node_modules/qs/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": 0, 8 | "consistent-return": 1, 9 | "func-name-matching": 0, 10 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], 11 | "indent": [2, 4], 12 | "max-lines-per-function": [2, { "max": 150 }], 13 | "max-params": [2, 14], 14 | "max-statements": [2, 52], 15 | "multiline-comment-style": 0, 16 | "no-continue": 1, 17 | "no-magic-numbers": 0, 18 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], 19 | "operator-linebreak": [2, "before"], 20 | }, 21 | 22 | "overrides": [ 23 | { 24 | "files": "test/**", 25 | "rules": { 26 | "function-paren-newline": 0, 27 | "max-lines-per-function": 0, 28 | "max-statements": 0, 29 | "no-buffer-constructor": 0, 30 | "no-extend-native": 0, 31 | "no-throw-literal": 0, 32 | } 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /node_modules/qs/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ljharb] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: npm/qs 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with a single custom sponsorship URL 13 | -------------------------------------------------------------------------------- /node_modules/qs/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "all": true, 3 | "check-coverage": false, 4 | "reporter": ["text-summary", "text", "html", "json"], 5 | "lines": 86, 6 | "statements": 85.93, 7 | "functions": 82.43, 8 | "branches": 76.06, 9 | "exclude": [ 10 | "coverage", 11 | "dist" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/qs/LICENSE.md: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | var Format = { 7 | RFC1738: 'RFC1738', 8 | RFC3986: 'RFC3986' 9 | }; 10 | 11 | module.exports = { 12 | 'default': Format.RFC3986, 13 | formatters: { 14 | RFC1738: function (value) { 15 | return replace.call(value, percentTwenties, '+'); 16 | }, 17 | RFC3986: function (value) { 18 | return String(value); 19 | } 20 | }, 21 | RFC1738: Format.RFC1738, 22 | RFC3986: Format.RFC3986 23 | }; 24 | -------------------------------------------------------------------------------- /node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stringify = require('./stringify'); 4 | var parse = require('./parse'); 5 | var formats = require('./formats'); 6 | 7 | module.exports = { 8 | formats: formats, 9 | parse: parse, 10 | stringify: stringify 11 | }; 12 | -------------------------------------------------------------------------------- /node_modules/range-parser/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.2.1 / 2019-05-10 2 | ================== 3 | 4 | * Improve error when `str` is not a string 5 | 6 | 1.2.0 / 2016-06-01 7 | ================== 8 | 9 | * Add `combine` option to combine overlapping ranges 10 | 11 | 1.1.0 / 2016-05-13 12 | ================== 13 | 14 | * Fix incorrectly returning -1 when there is at least one valid range 15 | * perf: remove internal function 16 | 17 | 1.0.3 / 2015-10-29 18 | ================== 19 | 20 | * perf: enable strict mode 21 | 22 | 1.0.2 / 2014-09-08 23 | ================== 24 | 25 | * Support Node.js 0.6 26 | 27 | 1.0.1 / 2014-09-07 28 | ================== 29 | 30 | * Move repository to jshttp 31 | 32 | 1.0.0 / 2013-12-11 33 | ================== 34 | 35 | * Add repository to package.json 36 | * Add MIT license 37 | 38 | 0.0.4 / 2012-06-17 39 | ================== 40 | 41 | * Change ret -1 for unsatisfiable and -2 when invalid 42 | 43 | 0.0.3 / 2012-06-17 44 | ================== 45 | 46 | * Fix last-byte-pos default to len - 1 47 | 48 | 0.0.2 / 2012-06-14 49 | ================== 50 | 51 | * Add `.type` 52 | 53 | 0.0.1 / 2012-06-11 54 | ================== 55 | 56 | * Initial release 57 | -------------------------------------------------------------------------------- /node_modules/range-parser/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012-2014 TJ Holowaychuk 4 | Copyright (c) 2015-2016 Douglas Christopher Wilson 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/safe-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Feross Aboukhadijeh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/safe-buffer/index.js: -------------------------------------------------------------------------------- 1 | /*! safe-buffer. MIT License. Feross Aboukhadijeh */ 2 | /* eslint-disable node/no-deprecated-api */ 3 | var buffer = require('buffer') 4 | var Buffer = buffer.Buffer 5 | 6 | // alternative to using Object.keys for old browsers 7 | function copyProps (src, dst) { 8 | for (var key in src) { 9 | dst[key] = src[key] 10 | } 11 | } 12 | if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { 13 | module.exports = buffer 14 | } else { 15 | // Copy properties from require('buffer') 16 | copyProps(buffer, exports) 17 | exports.Buffer = SafeBuffer 18 | } 19 | 20 | function SafeBuffer (arg, encodingOrOffset, length) { 21 | return Buffer(arg, encodingOrOffset, length) 22 | } 23 | 24 | SafeBuffer.prototype = Object.create(Buffer.prototype) 25 | 26 | // Copy static methods from Buffer 27 | copyProps(Buffer, SafeBuffer) 28 | 29 | SafeBuffer.from = function (arg, encodingOrOffset, length) { 30 | if (typeof arg === 'number') { 31 | throw new TypeError('Argument must not be a number') 32 | } 33 | return Buffer(arg, encodingOrOffset, length) 34 | } 35 | 36 | SafeBuffer.alloc = function (size, fill, encoding) { 37 | if (typeof size !== 'number') { 38 | throw new TypeError('Argument must be a number') 39 | } 40 | var buf = Buffer(size) 41 | if (fill !== undefined) { 42 | if (typeof encoding === 'string') { 43 | buf.fill(fill, encoding) 44 | } else { 45 | buf.fill(fill) 46 | } 47 | } else { 48 | buf.fill(0) 49 | } 50 | return buf 51 | } 52 | 53 | SafeBuffer.allocUnsafe = function (size) { 54 | if (typeof size !== 'number') { 55 | throw new TypeError('Argument must be a number') 56 | } 57 | return Buffer(size) 58 | } 59 | 60 | SafeBuffer.allocUnsafeSlow = function (size) { 61 | if (typeof size !== 'number') { 62 | throw new TypeError('Argument must be a number') 63 | } 64 | return buffer.SlowBuffer(size) 65 | } 66 | -------------------------------------------------------------------------------- /node_modules/safe-buffer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "safe-buffer@5.2.1", 3 | "_id": "safe-buffer@5.2.1", 4 | "_inBundle": false, 5 | "_integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 6 | "_location": "/safe-buffer", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "safe-buffer@5.2.1", 12 | "name": "safe-buffer", 13 | "escapedName": "safe-buffer", 14 | "rawSpec": "5.2.1", 15 | "saveSpec": null, 16 | "fetchSpec": "5.2.1" 17 | }, 18 | "_requiredBy": [ 19 | "/content-disposition", 20 | "/express" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 23 | "_shasum": "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6", 24 | "_spec": "safe-buffer@5.2.1", 25 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 26 | "author": { 27 | "name": "Feross Aboukhadijeh", 28 | "email": "feross@feross.org", 29 | "url": "https://feross.org" 30 | }, 31 | "bugs": { 32 | "url": "https://github.com/feross/safe-buffer/issues" 33 | }, 34 | "bundleDependencies": false, 35 | "deprecated": false, 36 | "description": "Safer Node.js Buffer API", 37 | "devDependencies": { 38 | "standard": "*", 39 | "tape": "^5.0.0" 40 | }, 41 | "funding": [ 42 | { 43 | "type": "github", 44 | "url": "https://github.com/sponsors/feross" 45 | }, 46 | { 47 | "type": "patreon", 48 | "url": "https://www.patreon.com/feross" 49 | }, 50 | { 51 | "type": "consulting", 52 | "url": "https://feross.org/support" 53 | } 54 | ], 55 | "homepage": "https://github.com/feross/safe-buffer", 56 | "keywords": [ 57 | "buffer", 58 | "buffer allocate", 59 | "node security", 60 | "safe", 61 | "safe-buffer", 62 | "security", 63 | "uninitialized" 64 | ], 65 | "license": "MIT", 66 | "main": "index.js", 67 | "name": "safe-buffer", 68 | "repository": { 69 | "type": "git", 70 | "url": "git://github.com/feross/safe-buffer.git" 71 | }, 72 | "scripts": { 73 | "test": "standard && tape test/*.js" 74 | }, 75 | "types": "index.d.ts", 76 | "version": "5.2.1" 77 | } 78 | -------------------------------------------------------------------------------- /node_modules/safer-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Nikita Skovoroda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/safer-buffer/dangerous.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable node/no-deprecated-api */ 2 | 3 | 'use strict' 4 | 5 | var buffer = require('buffer') 6 | var Buffer = buffer.Buffer 7 | var safer = require('./safer.js') 8 | var Safer = safer.Buffer 9 | 10 | var dangerous = {} 11 | 12 | var key 13 | 14 | for (key in safer) { 15 | if (!safer.hasOwnProperty(key)) continue 16 | dangerous[key] = safer[key] 17 | } 18 | 19 | var Dangereous = dangerous.Buffer = {} 20 | 21 | // Copy Safer API 22 | for (key in Safer) { 23 | if (!Safer.hasOwnProperty(key)) continue 24 | Dangereous[key] = Safer[key] 25 | } 26 | 27 | // Copy those missing unsafe methods, if they are present 28 | for (key in Buffer) { 29 | if (!Buffer.hasOwnProperty(key)) continue 30 | if (Dangereous.hasOwnProperty(key)) continue 31 | Dangereous[key] = Buffer[key] 32 | } 33 | 34 | if (!Dangereous.allocUnsafe) { 35 | Dangereous.allocUnsafe = function (size) { 36 | if (typeof size !== 'number') { 37 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 38 | } 39 | if (size < 0 || size >= 2 * (1 << 30)) { 40 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 41 | } 42 | return Buffer(size) 43 | } 44 | } 45 | 46 | if (!Dangereous.allocUnsafeSlow) { 47 | Dangereous.allocUnsafeSlow = function (size) { 48 | if (typeof size !== 'number') { 49 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 50 | } 51 | if (size < 0 || size >= 2 * (1 << 30)) { 52 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 53 | } 54 | return buffer.SlowBuffer(size) 55 | } 56 | } 57 | 58 | module.exports = dangerous 59 | -------------------------------------------------------------------------------- /node_modules/safer-buffer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "safer-buffer@>= 2.1.2 < 3", 3 | "_id": "safer-buffer@2.1.2", 4 | "_inBundle": false, 5 | "_integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 6 | "_location": "/safer-buffer", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "safer-buffer@>= 2.1.2 < 3", 12 | "name": "safer-buffer", 13 | "escapedName": "safer-buffer", 14 | "rawSpec": ">= 2.1.2 < 3", 15 | "saveSpec": null, 16 | "fetchSpec": ">= 2.1.2 < 3" 17 | }, 18 | "_requiredBy": [ 19 | "/iconv-lite" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 22 | "_shasum": "44fa161b0187b9549dd84bb91802f9bd8385cd6a", 23 | "_spec": "safer-buffer@>= 2.1.2 < 3", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\iconv-lite", 25 | "author": { 26 | "name": "Nikita Skovoroda", 27 | "email": "chalkerx@gmail.com", 28 | "url": "https://github.com/ChALkeR" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/ChALkeR/safer-buffer/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "deprecated": false, 35 | "description": "Modern Buffer API polyfill without footguns", 36 | "devDependencies": { 37 | "standard": "^11.0.1", 38 | "tape": "^4.9.0" 39 | }, 40 | "files": [ 41 | "Porting-Buffer.md", 42 | "Readme.md", 43 | "tests.js", 44 | "dangerous.js", 45 | "safer.js" 46 | ], 47 | "homepage": "https://github.com/ChALkeR/safer-buffer#readme", 48 | "license": "MIT", 49 | "main": "safer.js", 50 | "name": "safer-buffer", 51 | "repository": { 52 | "type": "git", 53 | "url": "git+https://github.com/ChALkeR/safer-buffer.git" 54 | }, 55 | "scripts": { 56 | "browserify-test": "browserify --external tape tests.js > browserify-tests.js && tape browserify-tests.js", 57 | "test": "standard && tape tests.js" 58 | }, 59 | "version": "2.1.2" 60 | } 61 | -------------------------------------------------------------------------------- /node_modules/safer-buffer/safer.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable node/no-deprecated-api */ 2 | 3 | 'use strict' 4 | 5 | var buffer = require('buffer') 6 | var Buffer = buffer.Buffer 7 | 8 | var safer = {} 9 | 10 | var key 11 | 12 | for (key in buffer) { 13 | if (!buffer.hasOwnProperty(key)) continue 14 | if (key === 'SlowBuffer' || key === 'Buffer') continue 15 | safer[key] = buffer[key] 16 | } 17 | 18 | var Safer = safer.Buffer = {} 19 | for (key in Buffer) { 20 | if (!Buffer.hasOwnProperty(key)) continue 21 | if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue 22 | Safer[key] = Buffer[key] 23 | } 24 | 25 | safer.Buffer.prototype = Buffer.prototype 26 | 27 | if (!Safer.from || Safer.from === Uint8Array.from) { 28 | Safer.from = function (value, encodingOrOffset, length) { 29 | if (typeof value === 'number') { 30 | throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value) 31 | } 32 | if (value && typeof value.length === 'undefined') { 33 | throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value) 34 | } 35 | return Buffer(value, encodingOrOffset, length) 36 | } 37 | } 38 | 39 | if (!Safer.alloc) { 40 | Safer.alloc = function (size, fill, encoding) { 41 | if (typeof size !== 'number') { 42 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 43 | } 44 | if (size < 0 || size >= 2 * (1 << 30)) { 45 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 46 | } 47 | var buf = Buffer(size) 48 | if (!fill || fill.length === 0) { 49 | buf.fill(0) 50 | } else if (typeof encoding === 'string') { 51 | buf.fill(fill, encoding) 52 | } else { 53 | buf.fill(fill) 54 | } 55 | return buf 56 | } 57 | } 58 | 59 | if (!safer.kStringMaxLength) { 60 | try { 61 | safer.kStringMaxLength = process.binding('buffer').kStringMaxLength 62 | } catch (e) { 63 | // we can't determine kStringMaxLength in environments where process.binding 64 | // is unsupported, so let's not set it 65 | } 66 | } 67 | 68 | if (!safer.constants) { 69 | safer.constants = { 70 | MAX_LENGTH: safer.kMaxLength 71 | } 72 | if (safer.kStringMaxLength) { 73 | safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength 74 | } 75 | } 76 | 77 | module.exports = safer 78 | -------------------------------------------------------------------------------- /node_modules/send/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2012 TJ Holowaychuk 4 | Copyright (c) 2014-2016 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/send/node_modules/ms/license.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2020 Vercel, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/send/node_modules/ms/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "ms@2.1.3", 3 | "_id": "ms@2.1.3", 4 | "_inBundle": false, 5 | "_integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 6 | "_location": "/send/ms", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "ms@2.1.3", 12 | "name": "ms", 13 | "escapedName": "ms", 14 | "rawSpec": "2.1.3", 15 | "saveSpec": null, 16 | "fetchSpec": "2.1.3" 17 | }, 18 | "_requiredBy": [ 19 | "/send" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 22 | "_shasum": "574c8138ce1d2b5861f0b44579dbadd60c6615b2", 23 | "_spec": "ms@2.1.3", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\send", 25 | "bugs": { 26 | "url": "https://github.com/vercel/ms/issues" 27 | }, 28 | "bundleDependencies": false, 29 | "deprecated": false, 30 | "description": "Tiny millisecond conversion utility", 31 | "devDependencies": { 32 | "eslint": "4.18.2", 33 | "expect.js": "0.3.1", 34 | "husky": "0.14.3", 35 | "lint-staged": "5.0.0", 36 | "mocha": "4.0.1", 37 | "prettier": "2.0.5" 38 | }, 39 | "eslintConfig": { 40 | "extends": "eslint:recommended", 41 | "env": { 42 | "node": true, 43 | "es6": true 44 | } 45 | }, 46 | "files": [ 47 | "index.js" 48 | ], 49 | "homepage": "https://github.com/vercel/ms#readme", 50 | "license": "MIT", 51 | "lint-staged": { 52 | "*.js": [ 53 | "npm run lint", 54 | "prettier --single-quote --write", 55 | "git add" 56 | ] 57 | }, 58 | "main": "./index", 59 | "name": "ms", 60 | "repository": { 61 | "type": "git", 62 | "url": "git+https://github.com/vercel/ms.git" 63 | }, 64 | "scripts": { 65 | "lint": "eslint lib/* bin/*", 66 | "precommit": "lint-staged", 67 | "test": "mocha tests.js" 68 | }, 69 | "version": "2.1.3" 70 | } 71 | -------------------------------------------------------------------------------- /node_modules/send/node_modules/ms/readme.md: -------------------------------------------------------------------------------- 1 | # ms 2 | 3 | ![CI](https://github.com/vercel/ms/workflows/CI/badge.svg) 4 | 5 | Use this package to easily convert various time formats to milliseconds. 6 | 7 | ## Examples 8 | 9 | ```js 10 | ms('2 days') // 172800000 11 | ms('1d') // 86400000 12 | ms('10h') // 36000000 13 | ms('2.5 hrs') // 9000000 14 | ms('2h') // 7200000 15 | ms('1m') // 60000 16 | ms('5s') // 5000 17 | ms('1y') // 31557600000 18 | ms('100') // 100 19 | ms('-3 days') // -259200000 20 | ms('-1h') // -3600000 21 | ms('-200') // -200 22 | ``` 23 | 24 | ### Convert from Milliseconds 25 | 26 | ```js 27 | ms(60000) // "1m" 28 | ms(2 * 60000) // "2m" 29 | ms(-3 * 60000) // "-3m" 30 | ms(ms('10 hours')) // "10h" 31 | ``` 32 | 33 | ### Time Format Written-Out 34 | 35 | ```js 36 | ms(60000, { long: true }) // "1 minute" 37 | ms(2 * 60000, { long: true }) // "2 minutes" 38 | ms(-3 * 60000, { long: true }) // "-3 minutes" 39 | ms(ms('10 hours'), { long: true }) // "10 hours" 40 | ``` 41 | 42 | ## Features 43 | 44 | - Works both in [Node.js](https://nodejs.org) and in the browser 45 | - If a number is supplied to `ms`, a string with a unit is returned 46 | - If a string that contains the number is supplied, it returns it as a number (e.g.: it returns `100` for `'100'`) 47 | - If you pass a string with a number and a valid unit, the number of equivalent milliseconds is returned 48 | 49 | ## Related Packages 50 | 51 | - [ms.macro](https://github.com/knpwrs/ms.macro) - Run `ms` as a macro at build-time. 52 | 53 | ## Caught a Bug? 54 | 55 | 1. [Fork](https://help.github.com/articles/fork-a-repo/) this repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device 56 | 2. Link the package to the global module directory: `npm link` 57 | 3. Within the module you want to test your local development instance of ms, just link it to the dependencies: `npm link ms`. Instead of the default one from npm, Node.js will now use your clone of ms! 58 | 59 | As always, you can run the tests using: `npm test` 60 | -------------------------------------------------------------------------------- /node_modules/serve-static/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2010 Sencha Inc. 4 | Copyright (c) 2011 LearnBoost 5 | Copyright (c) 2011 TJ Holowaychuk 6 | Copyright (c) 2014-2016 Douglas Christopher Wilson 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the 10 | 'Software'), to deal in the Software without restriction, including 11 | without limitation the rights to use, copy, modify, merge, publish, 12 | distribute, sublicense, and/or sell copies of the Software, and to 13 | permit persons to whom the Software is furnished to do so, subject to 14 | the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be 17 | included in all copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Wes Todd 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/README.md: -------------------------------------------------------------------------------- 1 | # Polyfill for `Object.setPrototypeOf` 2 | 3 | [![NPM Version](https://img.shields.io/npm/v/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) 4 | [![NPM Downloads](https://img.shields.io/npm/dm/setprototypeof.svg)](https://npmjs.org/package/setprototypeof) 5 | [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/standard/standard) 6 | 7 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8. 8 | 9 | ## Usage: 10 | 11 | ``` 12 | $ npm install --save setprototypeof 13 | ``` 14 | 15 | ```javascript 16 | var setPrototypeOf = require('setprototypeof') 17 | 18 | var obj = {} 19 | setPrototypeOf(obj, { 20 | foo: function () { 21 | return 'bar' 22 | } 23 | }) 24 | obj.foo() // bar 25 | ``` 26 | 27 | TypeScript is also supported: 28 | 29 | ```typescript 30 | import setPrototypeOf from 'setprototypeof' 31 | ``` 32 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint no-proto: 0 */ 3 | module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties) 4 | 5 | function setProtoOf (obj, proto) { 6 | obj.__proto__ = proto 7 | return obj 8 | } 9 | 10 | function mixinProperties (obj, proto) { 11 | for (var prop in proto) { 12 | if (!Object.prototype.hasOwnProperty.call(obj, prop)) { 13 | obj[prop] = proto[prop] 14 | } 15 | } 16 | return obj 17 | } 18 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "setprototypeof@1.2.0", 3 | "_id": "setprototypeof@1.2.0", 4 | "_inBundle": false, 5 | "_integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", 6 | "_location": "/setprototypeof", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "setprototypeof@1.2.0", 12 | "name": "setprototypeof", 13 | "escapedName": "setprototypeof", 14 | "rawSpec": "1.2.0", 15 | "saveSpec": null, 16 | "fetchSpec": "1.2.0" 17 | }, 18 | "_requiredBy": [ 19 | "/express", 20 | "/http-errors" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 23 | "_shasum": "66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424", 24 | "_spec": "setprototypeof@1.2.0", 25 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 26 | "author": { 27 | "name": "Wes Todd" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/wesleytodd/setprototypeof/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "deprecated": false, 34 | "description": "A small polyfill for Object.setprototypeof", 35 | "devDependencies": { 36 | "mocha": "^6.1.4", 37 | "standard": "^13.0.2" 38 | }, 39 | "homepage": "https://github.com/wesleytodd/setprototypeof", 40 | "keywords": [ 41 | "polyfill", 42 | "object", 43 | "setprototypeof" 44 | ], 45 | "license": "ISC", 46 | "main": "index.js", 47 | "name": "setprototypeof", 48 | "repository": { 49 | "type": "git", 50 | "url": "git+https://github.com/wesleytodd/setprototypeof.git" 51 | }, 52 | "scripts": { 53 | "node010": "NODE_VER=0.10 MOCHA_VER=3 npm run testversion", 54 | "node11": "NODE_VER=11 npm run testversion", 55 | "node4": "NODE_VER=4 npm run testversion", 56 | "node6": "NODE_VER=6 npm run testversion", 57 | "node9": "NODE_VER=9 npm run testversion", 58 | "postpublish": "git push origin && git push origin --tags", 59 | "prepublishOnly": "npm t", 60 | "test": "standard && mocha", 61 | "testallversions": "npm run node010 && npm run node4 && npm run node6 && npm run node9 && npm run node11", 62 | "testversion": "docker run -it --rm -v $(PWD):/usr/src/app -w /usr/src/app node:${NODE_VER} npm install mocha@${MOCHA_VER:-latest} && npm t" 63 | }, 64 | "typings": "index.d.ts", 65 | "version": "1.2.0" 66 | } 67 | -------------------------------------------------------------------------------- /node_modules/setprototypeof/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint-env mocha */ 3 | /* eslint no-proto: 0 */ 4 | var assert = require('assert') 5 | var setPrototypeOf = require('..') 6 | 7 | describe('setProtoOf(obj, proto)', function () { 8 | it('should merge objects', function () { 9 | var obj = { a: 1, b: 2 } 10 | var proto = { b: 3, c: 4 } 11 | var mergeObj = setPrototypeOf(obj, proto) 12 | 13 | if (Object.getPrototypeOf) { 14 | assert.strictEqual(Object.getPrototypeOf(obj), proto) 15 | } else if ({ __proto__: [] } instanceof Array) { 16 | assert.strictEqual(obj.__proto__, proto) 17 | } else { 18 | assert.strictEqual(obj.a, 1) 19 | assert.strictEqual(obj.b, 2) 20 | assert.strictEqual(obj.c, 4) 21 | } 22 | assert.strictEqual(mergeObj, obj) 23 | }) 24 | }) 25 | -------------------------------------------------------------------------------- /node_modules/statuses/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.5.0 / 2018-03-27 2 | ================== 3 | 4 | * Add `103 Early Hints` 5 | 6 | 1.4.0 / 2017-10-20 7 | ================== 8 | 9 | * Add `STATUS_CODES` export 10 | 11 | 1.3.1 / 2016-11-11 12 | ================== 13 | 14 | * Fix return type in JSDoc 15 | 16 | 1.3.0 / 2016-05-17 17 | ================== 18 | 19 | * Add `421 Misdirected Request` 20 | * perf: enable strict mode 21 | 22 | 1.2.1 / 2015-02-01 23 | ================== 24 | 25 | * Fix message for status 451 26 | - `451 Unavailable For Legal Reasons` 27 | 28 | 1.2.0 / 2014-09-28 29 | ================== 30 | 31 | * Add `208 Already Repored` 32 | * Add `226 IM Used` 33 | * Add `306 (Unused)` 34 | * Add `415 Unable For Legal Reasons` 35 | * Add `508 Loop Detected` 36 | 37 | 1.1.1 / 2014-09-24 38 | ================== 39 | 40 | * Add missing 308 to `codes.json` 41 | 42 | 1.1.0 / 2014-09-21 43 | ================== 44 | 45 | * Add `codes.json` for universal support 46 | 47 | 1.0.4 / 2014-08-20 48 | ================== 49 | 50 | * Package cleanup 51 | 52 | 1.0.3 / 2014-06-08 53 | ================== 54 | 55 | * Add 308 to `.redirect` category 56 | 57 | 1.0.2 / 2014-03-13 58 | ================== 59 | 60 | * Add `.retry` category 61 | 62 | 1.0.1 / 2014-03-12 63 | ================== 64 | 65 | * Initial release 66 | -------------------------------------------------------------------------------- /node_modules/statuses/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2014 Jonathan Ong 5 | Copyright (c) 2016 Douglas Christopher Wilson 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/statuses/codes.json: -------------------------------------------------------------------------------- 1 | { 2 | "100": "Continue", 3 | "101": "Switching Protocols", 4 | "102": "Processing", 5 | "103": "Early Hints", 6 | "200": "OK", 7 | "201": "Created", 8 | "202": "Accepted", 9 | "203": "Non-Authoritative Information", 10 | "204": "No Content", 11 | "205": "Reset Content", 12 | "206": "Partial Content", 13 | "207": "Multi-Status", 14 | "208": "Already Reported", 15 | "226": "IM Used", 16 | "300": "Multiple Choices", 17 | "301": "Moved Permanently", 18 | "302": "Found", 19 | "303": "See Other", 20 | "304": "Not Modified", 21 | "305": "Use Proxy", 22 | "306": "(Unused)", 23 | "307": "Temporary Redirect", 24 | "308": "Permanent Redirect", 25 | "400": "Bad Request", 26 | "401": "Unauthorized", 27 | "402": "Payment Required", 28 | "403": "Forbidden", 29 | "404": "Not Found", 30 | "405": "Method Not Allowed", 31 | "406": "Not Acceptable", 32 | "407": "Proxy Authentication Required", 33 | "408": "Request Timeout", 34 | "409": "Conflict", 35 | "410": "Gone", 36 | "411": "Length Required", 37 | "412": "Precondition Failed", 38 | "413": "Payload Too Large", 39 | "414": "URI Too Long", 40 | "415": "Unsupported Media Type", 41 | "416": "Range Not Satisfiable", 42 | "417": "Expectation Failed", 43 | "418": "I'm a teapot", 44 | "421": "Misdirected Request", 45 | "422": "Unprocessable Entity", 46 | "423": "Locked", 47 | "424": "Failed Dependency", 48 | "425": "Unordered Collection", 49 | "426": "Upgrade Required", 50 | "428": "Precondition Required", 51 | "429": "Too Many Requests", 52 | "431": "Request Header Fields Too Large", 53 | "451": "Unavailable For Legal Reasons", 54 | "500": "Internal Server Error", 55 | "501": "Not Implemented", 56 | "502": "Bad Gateway", 57 | "503": "Service Unavailable", 58 | "504": "Gateway Timeout", 59 | "505": "HTTP Version Not Supported", 60 | "506": "Variant Also Negotiates", 61 | "507": "Insufficient Storage", 62 | "508": "Loop Detected", 63 | "509": "Bandwidth Limit Exceeded", 64 | "510": "Not Extended", 65 | "511": "Network Authentication Required" 66 | } 67 | -------------------------------------------------------------------------------- /node_modules/toidentifier/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.1 / 2021-11-14 2 | ================== 3 | 4 | * pref: enable strict mode 5 | 6 | 1.0.0 / 2018-07-09 7 | ================== 8 | 9 | * Initial release 10 | -------------------------------------------------------------------------------- /node_modules/toidentifier/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/toidentifier/README.md: -------------------------------------------------------------------------------- 1 | # toidentifier 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Build Status][github-actions-ci-image]][github-actions-ci-url] 6 | [![Test Coverage][codecov-image]][codecov-url] 7 | 8 | > Convert a string of words to a JavaScript identifier 9 | 10 | ## Install 11 | 12 | This is a [Node.js](https://nodejs.org/en/) module available through the 13 | [npm registry](https://www.npmjs.com/). Installation is done using the 14 | [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally): 15 | 16 | ```bash 17 | $ npm install toidentifier 18 | ``` 19 | 20 | ## Example 21 | 22 | ```js 23 | var toIdentifier = require('toidentifier') 24 | 25 | console.log(toIdentifier('Bad Request')) 26 | // => "BadRequest" 27 | ``` 28 | 29 | ## API 30 | 31 | This CommonJS module exports a single default function: `toIdentifier`. 32 | 33 | ### toIdentifier(string) 34 | 35 | Given a string as the argument, it will be transformed according to 36 | the following rules and the new string will be returned: 37 | 38 | 1. Split into words separated by space characters (`0x20`). 39 | 2. Upper case the first character of each word. 40 | 3. Join the words together with no separator. 41 | 4. Remove all non-word (`[0-9a-z_]`) characters. 42 | 43 | ## License 44 | 45 | [MIT](LICENSE) 46 | 47 | [codecov-image]: https://img.shields.io/codecov/c/github/component/toidentifier.svg 48 | [codecov-url]: https://codecov.io/gh/component/toidentifier 49 | [downloads-image]: https://img.shields.io/npm/dm/toidentifier.svg 50 | [downloads-url]: https://npmjs.org/package/toidentifier 51 | [github-actions-ci-image]: https://img.shields.io/github/workflow/status/component/toidentifier/ci/master?label=ci 52 | [github-actions-ci-url]: https://github.com/component/toidentifier?query=workflow%3Aci 53 | [npm-image]: https://img.shields.io/npm/v/toidentifier.svg 54 | [npm-url]: https://npmjs.org/package/toidentifier 55 | 56 | 57 | ## 58 | 59 | [npm]: https://www.npmjs.com/ 60 | 61 | [yarn]: https://yarnpkg.com/ 62 | -------------------------------------------------------------------------------- /node_modules/toidentifier/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * toidentifier 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = toIdentifier 15 | 16 | /** 17 | * Trasform the given string into a JavaScript identifier 18 | * 19 | * @param {string} str 20 | * @returns {string} 21 | * @public 22 | */ 23 | 24 | function toIdentifier (str) { 25 | return str 26 | .split(' ') 27 | .map(function (token) { 28 | return token.slice(0, 1).toUpperCase() + token.slice(1) 29 | }) 30 | .join('') 31 | .replace(/[^ _0-9a-z]/gi, '') 32 | } 33 | -------------------------------------------------------------------------------- /node_modules/type-is/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014 Jonathan Ong 4 | Copyright (c) 2014-2015 Douglas Christopher Wilson 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining 7 | a copy of this software and associated documentation files (the 8 | 'Software'), to deal in the Software without restriction, including 9 | without limitation the rights to use, copy, modify, merge, publish, 10 | distribute, sublicense, and/or sell copies of the Software, and to 11 | permit persons to whom the Software is furnished to do so, subject to 12 | the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be 15 | included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | -------------------------------------------------------------------------------- /node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /node_modules/unpipe/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2015 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/unpipe/README.md: -------------------------------------------------------------------------------- 1 | # unpipe 2 | 3 | [![NPM Version][npm-image]][npm-url] 4 | [![NPM Downloads][downloads-image]][downloads-url] 5 | [![Node.js Version][node-image]][node-url] 6 | [![Build Status][travis-image]][travis-url] 7 | [![Test Coverage][coveralls-image]][coveralls-url] 8 | 9 | Unpipe a stream from all destinations. 10 | 11 | ## Installation 12 | 13 | ```sh 14 | $ npm install unpipe 15 | ``` 16 | 17 | ## API 18 | 19 | ```js 20 | var unpipe = require('unpipe') 21 | ``` 22 | 23 | ### unpipe(stream) 24 | 25 | Unpipes all destinations from a given stream. With stream 2+, this is 26 | equivalent to `stream.unpipe()`. When used with streams 1 style streams 27 | (typically Node.js 0.8 and below), this module attempts to undo the 28 | actions done in `stream.pipe(dest)`. 29 | 30 | ## License 31 | 32 | [MIT](LICENSE) 33 | 34 | [npm-image]: https://img.shields.io/npm/v/unpipe.svg 35 | [npm-url]: https://npmjs.org/package/unpipe 36 | [node-image]: https://img.shields.io/node/v/unpipe.svg 37 | [node-url]: http://nodejs.org/download/ 38 | [travis-image]: https://img.shields.io/travis/stream-utils/unpipe.svg 39 | [travis-url]: https://travis-ci.org/stream-utils/unpipe 40 | [coveralls-image]: https://img.shields.io/coveralls/stream-utils/unpipe.svg 41 | [coveralls-url]: https://coveralls.io/r/stream-utils/unpipe?branch=master 42 | [downloads-image]: https://img.shields.io/npm/dm/unpipe.svg 43 | [downloads-url]: https://npmjs.org/package/unpipe 44 | -------------------------------------------------------------------------------- /node_modules/unpipe/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * unpipe 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = unpipe 15 | 16 | /** 17 | * Determine if there are Node.js pipe-like data listeners. 18 | * @private 19 | */ 20 | 21 | function hasPipeDataListeners(stream) { 22 | var listeners = stream.listeners('data') 23 | 24 | for (var i = 0; i < listeners.length; i++) { 25 | if (listeners[i].name === 'ondata') { 26 | return true 27 | } 28 | } 29 | 30 | return false 31 | } 32 | 33 | /** 34 | * Unpipe a stream from all destinations. 35 | * 36 | * @param {object} stream 37 | * @public 38 | */ 39 | 40 | function unpipe(stream) { 41 | if (!stream) { 42 | throw new TypeError('argument stream is required') 43 | } 44 | 45 | if (typeof stream.unpipe === 'function') { 46 | // new-style 47 | stream.unpipe() 48 | return 49 | } 50 | 51 | // Node.js 0.8 hack 52 | if (!hasPipeDataListeners(stream)) { 53 | return 54 | } 55 | 56 | var listener 57 | var listeners = stream.listeners('close') 58 | 59 | for (var i = 0; i < listeners.length; i++) { 60 | listener = listeners[i] 61 | 62 | if (listener.name !== 'cleanup' && listener.name !== 'onclose') { 63 | continue 64 | } 65 | 66 | // invoke the listener 67 | listener.call(stream) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /node_modules/unpipe/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "unpipe@1.0.0", 3 | "_id": "unpipe@1.0.0", 4 | "_inBundle": false, 5 | "_integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", 6 | "_location": "/unpipe", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "unpipe@1.0.0", 12 | "name": "unpipe", 13 | "escapedName": "unpipe", 14 | "rawSpec": "1.0.0", 15 | "saveSpec": null, 16 | "fetchSpec": "1.0.0" 17 | }, 18 | "_requiredBy": [ 19 | "/finalhandler", 20 | "/raw-body" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 23 | "_shasum": "b2bf4ee8514aae6165b4817829d21b2ef49904ec", 24 | "_spec": "unpipe@1.0.0", 25 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\raw-body", 26 | "author": { 27 | "name": "Douglas Christopher Wilson", 28 | "email": "doug@somethingdoug.com" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/stream-utils/unpipe/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "deprecated": false, 35 | "description": "Unpipe a stream from all destinations", 36 | "devDependencies": { 37 | "istanbul": "0.3.15", 38 | "mocha": "2.2.5", 39 | "readable-stream": "1.1.13" 40 | }, 41 | "engines": { 42 | "node": ">= 0.8" 43 | }, 44 | "files": [ 45 | "HISTORY.md", 46 | "LICENSE", 47 | "README.md", 48 | "index.js" 49 | ], 50 | "homepage": "https://github.com/stream-utils/unpipe#readme", 51 | "license": "MIT", 52 | "name": "unpipe", 53 | "repository": { 54 | "type": "git", 55 | "url": "git+https://github.com/stream-utils/unpipe.git" 56 | }, 57 | "scripts": { 58 | "test": "mocha --reporter spec --bail --check-leaks test/", 59 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/", 60 | "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/" 61 | }, 62 | "version": "1.0.0" 63 | } 64 | -------------------------------------------------------------------------------- /node_modules/utils-merge/.npmignore: -------------------------------------------------------------------------------- 1 | CONTRIBUTING.md 2 | Makefile 3 | docs/ 4 | examples/ 5 | reports/ 6 | test/ 7 | 8 | .jshintrc 9 | .travis.yml 10 | -------------------------------------------------------------------------------- /node_modules/utils-merge/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013-2017 Jared Hanson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/utils-merge/README.md: -------------------------------------------------------------------------------- 1 | # utils-merge 2 | 3 | [![Version](https://img.shields.io/npm/v/utils-merge.svg?label=version)](https://www.npmjs.com/package/utils-merge) 4 | [![Build](https://img.shields.io/travis/jaredhanson/utils-merge.svg)](https://travis-ci.org/jaredhanson/utils-merge) 5 | [![Quality](https://img.shields.io/codeclimate/github/jaredhanson/utils-merge.svg?label=quality)](https://codeclimate.com/github/jaredhanson/utils-merge) 6 | [![Coverage](https://img.shields.io/coveralls/jaredhanson/utils-merge.svg)](https://coveralls.io/r/jaredhanson/utils-merge) 7 | [![Dependencies](https://img.shields.io/david/jaredhanson/utils-merge.svg)](https://david-dm.org/jaredhanson/utils-merge) 8 | 9 | 10 | Merges the properties from a source object into a destination object. 11 | 12 | ## Install 13 | 14 | ```bash 15 | $ npm install utils-merge 16 | ``` 17 | 18 | ## Usage 19 | 20 | ```javascript 21 | var a = { foo: 'bar' } 22 | , b = { bar: 'baz' }; 23 | 24 | merge(a, b); 25 | // => { foo: 'bar', bar: 'baz' } 26 | ``` 27 | 28 | ## License 29 | 30 | [The MIT License](http://opensource.org/licenses/MIT) 31 | 32 | Copyright (c) 2013-2017 Jared Hanson <[http://jaredhanson.net/](http://jaredhanson.net/)> 33 | 34 | Sponsor 35 | -------------------------------------------------------------------------------- /node_modules/utils-merge/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Merge object b with object a. 3 | * 4 | * var a = { foo: 'bar' } 5 | * , b = { bar: 'baz' }; 6 | * 7 | * merge(a, b); 8 | * // => { foo: 'bar', bar: 'baz' } 9 | * 10 | * @param {Object} a 11 | * @param {Object} b 12 | * @return {Object} 13 | * @api public 14 | */ 15 | 16 | exports = module.exports = function(a, b){ 17 | if (a && b) { 18 | for (var key in b) { 19 | a[key] = b[key]; 20 | } 21 | } 22 | return a; 23 | }; 24 | -------------------------------------------------------------------------------- /node_modules/utils-merge/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "utils-merge@1.0.1", 3 | "_id": "utils-merge@1.0.1", 4 | "_inBundle": false, 5 | "_integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", 6 | "_location": "/utils-merge", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "version", 10 | "registry": true, 11 | "raw": "utils-merge@1.0.1", 12 | "name": "utils-merge", 13 | "escapedName": "utils-merge", 14 | "rawSpec": "1.0.1", 15 | "saveSpec": null, 16 | "fetchSpec": "1.0.1" 17 | }, 18 | "_requiredBy": [ 19 | "/express" 20 | ], 21 | "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 22 | "_shasum": "9f95710f50a267947b2ccc124741c1028427e713", 23 | "_spec": "utils-merge@1.0.1", 24 | "_where": "E:\\projects\\2022-01-04_node_project\\simple-node-server\\node_modules\\express", 25 | "author": { 26 | "name": "Jared Hanson", 27 | "email": "jaredhanson@gmail.com", 28 | "url": "http://www.jaredhanson.net/" 29 | }, 30 | "bugs": { 31 | "url": "http://github.com/jaredhanson/utils-merge/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "dependencies": {}, 35 | "deprecated": false, 36 | "description": "merge() utility function", 37 | "devDependencies": { 38 | "chai": "1.x.x", 39 | "make-node": "0.3.x", 40 | "mocha": "1.x.x" 41 | }, 42 | "engines": { 43 | "node": ">= 0.4.0" 44 | }, 45 | "homepage": "https://github.com/jaredhanson/utils-merge#readme", 46 | "keywords": [ 47 | "util" 48 | ], 49 | "license": "MIT", 50 | "licenses": [ 51 | { 52 | "type": "MIT", 53 | "url": "http://opensource.org/licenses/MIT" 54 | } 55 | ], 56 | "main": "./index", 57 | "name": "utils-merge", 58 | "repository": { 59 | "type": "git", 60 | "url": "git://github.com/jaredhanson/utils-merge.git" 61 | }, 62 | "scripts": { 63 | "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js" 64 | }, 65 | "version": "1.0.1" 66 | } 67 | -------------------------------------------------------------------------------- /node_modules/vary/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.1.2 / 2017-09-23 2 | ================== 3 | 4 | * perf: improve header token parsing speed 5 | 6 | 1.1.1 / 2017-03-20 7 | ================== 8 | 9 | * perf: hoist regular expression 10 | 11 | 1.1.0 / 2015-09-29 12 | ================== 13 | 14 | * Only accept valid field names in the `field` argument 15 | - Ensures the resulting string is a valid HTTP header value 16 | 17 | 1.0.1 / 2015-07-08 18 | ================== 19 | 20 | * Fix setting empty header from empty `field` 21 | * perf: enable strict mode 22 | * perf: remove argument reassignments 23 | 24 | 1.0.0 / 2014-08-10 25 | ================== 26 | 27 | * Accept valid `Vary` header string as `field` 28 | * Add `vary.append` for low-level string manipulation 29 | * Move to `jshttp` orgainzation 30 | 31 | 0.1.0 / 2014-06-05 32 | ================== 33 | 34 | * Support array of fields to set 35 | 36 | 0.0.0 / 2014-06-04 37 | ================== 38 | 39 | * Initial release 40 | -------------------------------------------------------------------------------- /node_modules/vary/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2014-2017 Douglas Christopher Wilson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "simple-node-server", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "author": "Evil", 9 | "license": "ISC", 10 | "description": "", 11 | "dependencies": { 12 | "express": "^4.17.2" 13 | } 14 | } 15 | --------------------------------------------------------------------------------