formation 3 yıl önce
ebeveyn
işleme
eef5e31f2b
100 değiştirilmiş dosya ile 3729 ekleme ve 4989 silme
  1. 1910 3991
      angular-client/package-lock.json
  2. 7 0
      express-server/node_modules/accepts/HISTORY.md
  3. 3 5
      express-server/node_modules/accepts/README.md
  4. 25 25
      express-server/node_modules/accepts/package.json
  5. 2 2
      express-server/node_modules/array-flatten/package.json
  6. 42 0
      express-server/node_modules/body-parser/HISTORY.md
  7. 33 12
      express-server/node_modules/body-parser/README.md
  8. 26 2
      express-server/node_modules/body-parser/lib/read.js
  9. 10 4
      express-server/node_modules/body-parser/lib/types/json.js
  10. 32 28
      express-server/node_modules/body-parser/package.json
  11. 10 0
      express-server/node_modules/bytes/History.md
  12. 42 16
      express-server/node_modules/bytes/Readme.md
  13. 9 1
      express-server/node_modules/bytes/index.js
  14. 16 15
      express-server/node_modules/bytes/package.json
  15. 5 0
      express-server/node_modules/content-disposition/HISTORY.md
  16. 3 9
      express-server/node_modules/content-disposition/README.md
  17. 1 1
      express-server/node_modules/content-disposition/index.js
  18. 23 23
      express-server/node_modules/content-disposition/package.json
  19. 1 1
      express-server/node_modules/content-type/package.json
  20. 2 2
      express-server/node_modules/cookie-signature/package.json
  21. 19 0
      express-server/node_modules/cookie/HISTORY.md
  22. 73 24
      express-server/node_modules/cookie/README.md
  23. 91 19
      express-server/node_modules/cookie/index.js
  24. 22 18
      express-server/node_modules/cookie/package.json
  25. 2 3
      express-server/node_modules/debug/package.json
  26. 7 0
      express-server/node_modules/depd/History.md
  27. 1 1
      express-server/node_modules/depd/LICENSE
  28. 8 8
      express-server/node_modules/depd/Readme.md
  29. 29 13
      express-server/node_modules/depd/index.js
  30. 0 103
      express-server/node_modules/depd/lib/compat/callsite-tostring.js
  31. 0 22
      express-server/node_modules/depd/lib/compat/event-listener-count.js
  32. 0 79
      express-server/node_modules/depd/lib/compat/index.js
  33. 24 20
      express-server/node_modules/depd/package.json
  34. 1 0
      express-server/node_modules/destroy/LICENSE
  35. 15 12
      express-server/node_modules/destroy/README.md
  36. 147 13
      express-server/node_modules/destroy/index.js
  37. 28 16
      express-server/node_modules/destroy/package.json
  38. 2 2
      express-server/node_modules/ee-first/package.json
  39. 2 2
      express-server/node_modules/encodeurl/package.json
  40. 2 2
      express-server/node_modules/escape-html/package.json
  41. 2 2
      express-server/node_modules/etag/package.json
  42. 102 0
      express-server/node_modules/express/History.md
  43. 43 32
      express-server/node_modules/express/Readme.md
  44. 19 2
      express-server/node_modules/express/lib/application.js
  45. 1 1
      express-server/node_modules/express/lib/request.js
  46. 57 30
      express-server/node_modules/express/lib/response.js
  47. 25 14
      express-server/node_modules/express/lib/router/index.js
  48. 9 0
      express-server/node_modules/express/lib/router/route.js
  49. 5 7
      express-server/node_modules/express/lib/utils.js
  50. 1 1
      express-server/node_modules/express/lib/view.js
  51. 37 36
      express-server/node_modules/express/package.json
  52. 8 0
      express-server/node_modules/finalhandler/HISTORY.md
  53. 1 1
      express-server/node_modules/finalhandler/LICENSE
  54. 5 6
      express-server/node_modules/finalhandler/README.md
  55. 8 3
      express-server/node_modules/finalhandler/index.js
  56. 29 28
      express-server/node_modules/finalhandler/package.json
  57. 1 1
      express-server/node_modules/forwarded/package.json
  58. 2 2
      express-server/node_modules/fresh/package.json
  59. 31 0
      express-server/node_modules/http-errors/HISTORY.md
  60. 14 8
      express-server/node_modules/http-errors/README.md
  61. 49 26
      express-server/node_modules/http-errors/index.js
  62. 31 29
      express-server/node_modules/http-errors/package.json
  63. 1 1
      express-server/node_modules/iconv-lite/package.json
  64. 2 0
      express-server/node_modules/inherits/inherits.js
  65. 18 14
      express-server/node_modules/inherits/inherits_browser.js
  66. 14 13
      express-server/node_modules/inherits/package.json
  67. 1 1
      express-server/node_modules/ipaddr.js/package.json
  68. 2 2
      express-server/node_modules/media-typer/package.json
  69. 2 2
      express-server/node_modules/merge-descriptors/package.json
  70. 2 2
      express-server/node_modules/methods/package.json
  71. 21 0
      express-server/node_modules/mime-db/HISTORY.md
  72. 19 18
      express-server/node_modules/mime-db/LICENSE
  73. 1 1
      express-server/node_modules/mime-db/README.md
  74. 108 6
      express-server/node_modules/mime-db/db.json
  75. 1 0
      express-server/node_modules/mime-db/index.js
  76. 19 18
      express-server/node_modules/mime-db/package.json
  77. 22 3
      express-server/node_modules/mime-types/HISTORY.md
  78. 1 1
      express-server/node_modules/mime-types/README.md
  79. 17 17
      express-server/node_modules/mime-types/package.json
  80. 1 1
      express-server/node_modules/mime/package.json
  81. 1 1
      express-server/node_modules/mkdirp/package.json
  82. 3 4
      express-server/node_modules/ms/package.json
  83. 5 0
      express-server/node_modules/negotiator/HISTORY.md
  84. 3 3
      express-server/node_modules/negotiator/README.md
  85. 4 46
      express-server/node_modules/negotiator/index.js
  86. 3 3
      express-server/node_modules/negotiator/lib/language.js
  87. 18 18
      express-server/node_modules/negotiator/package.json
  88. 10 0
      express-server/node_modules/on-finished/HISTORY.md
  89. 28 20
      express-server/node_modules/on-finished/README.md
  90. 51 13
      express-server/node_modules/on-finished/index.js
  91. 24 16
      express-server/node_modules/on-finished/package.json
  92. 1 1
      express-server/node_modules/parseurl/package.json
  93. 2 2
      express-server/node_modules/path-to-regexp/package.json
  94. 6 6
      express-server/node_modules/proxy-addr/package.json
  95. 10 0
      express-server/node_modules/qs/.editorconfig
  96. 0 1
      express-server/node_modules/qs/.eslintignore
  97. 21 4
      express-server/node_modules/qs/.eslintrc
  98. 132 0
      express-server/node_modules/qs/CHANGELOG.md
  99. 0 28
      express-server/node_modules/qs/LICENSE
  100. 0 0
      express-server/node_modules/qs/README.md

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1910 - 3991
angular-client/package-lock.json


+ 7 - 0
express-server/node_modules/accepts/HISTORY.md

@@ -1,3 +1,10 @@
+1.3.8 / 2022-02-02
+==================
+
+  * deps: mime-types@~2.1.34
+    - deps: mime-db@~1.51.0
+  * deps: negotiator@0.6.3
+
 1.3.7 / 2019-04-29
 ==================
 

+ 3 - 5
express-server/node_modules/accepts/README.md

@@ -3,7 +3,7 @@
 [![NPM Version][npm-version-image]][npm-url]
 [![NPM Downloads][npm-downloads-image]][npm-url]
 [![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Higher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator).
@@ -29,8 +29,6 @@ $ npm install accepts
 
 ## API
 
-<!-- eslint-disable no-unused-vars -->
-
 ```js
 var accepts = require('accepts')
 ```
@@ -133,10 +131,10 @@ curl -I -H'Accept: text/html' http://localhost:3000/
 
 [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/accepts/master
 [coveralls-url]: https://coveralls.io/r/jshttp/accepts?branch=master
+[github-actions-ci-image]: https://badgen.net/github/checks/jshttp/accepts/master?label=ci
+[github-actions-ci-url]: https://github.com/jshttp/accepts/actions/workflows/ci.yml
 [node-version-image]: https://badgen.net/npm/node/accepts
 [node-version-url]: https://nodejs.org/en/download
 [npm-downloads-image]: https://badgen.net/npm/dm/accepts
 [npm-url]: https://npmjs.org/package/accepts
 [npm-version-image]: https://badgen.net/npm/v/accepts
-[travis-image]: https://badgen.net/travis/jshttp/accepts/master
-[travis-url]: https://travis-ci.org/jshttp/accepts

+ 25 - 25
express-server/node_modules/accepts/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "accepts@~1.3.7",
-  "_id": "accepts@1.3.7",
+  "_from": "accepts@~1.3.8",
+  "_id": "accepts@1.3.8",
   "_inBundle": false,
-  "_integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+  "_integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
   "_location": "/accepts",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "accepts@~1.3.7",
+    "raw": "accepts@~1.3.8",
     "name": "accepts",
     "escapedName": "accepts",
-    "rawSpec": "~1.3.7",
+    "rawSpec": "~1.3.8",
     "saveSpec": null,
-    "fetchSpec": "~1.3.7"
+    "fetchSpec": "~1.3.8"
   },
   "_requiredBy": [
     "/express"
   ],
-  "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-  "_shasum": "531bc726517a3b2b41f850021c6cc15eaab507cd",
-  "_spec": "accepts@~1.3.7",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+  "_shasum": "0bf0be125b67014adcb0b0921e62db7bffe16b2e",
+  "_spec": "accepts@~1.3.8",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/jshttp/accepts/issues"
   },
@@ -38,22 +38,22 @@
     }
   ],
   "dependencies": {
-    "mime-types": "~2.1.24",
-    "negotiator": "0.6.2"
+    "mime-types": "~2.1.34",
+    "negotiator": "0.6.3"
   },
   "deprecated": false,
   "description": "Higher-level content negotiation",
   "devDependencies": {
     "deep-equal": "1.0.1",
-    "eslint": "5.16.0",
-    "eslint-config-standard": "12.0.0",
-    "eslint-plugin-import": "2.17.2",
-    "eslint-plugin-markdown": "1.0.0",
-    "eslint-plugin-node": "8.0.1",
-    "eslint-plugin-promise": "4.1.1",
-    "eslint-plugin-standard": "4.0.0",
-    "mocha": "6.1.4",
-    "nyc": "14.0.0"
+    "eslint": "7.32.0",
+    "eslint-config-standard": "14.1.1",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-markdown": "2.2.1",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "4.3.1",
+    "eslint-plugin-standard": "4.1.0",
+    "mocha": "9.2.0",
+    "nyc": "15.1.0"
   },
   "engines": {
     "node": ">= 0.6"
@@ -77,10 +77,10 @@
     "url": "git+https://github.com/jshttp/accepts.git"
   },
   "scripts": {
-    "lint": "eslint --plugin markdown --ext js,md .",
+    "lint": "eslint .",
     "test": "mocha --reporter spec --check-leaks --bail test/",
-    "test-cov": "nyc --reporter=html --reporter=text npm test",
-    "test-travis": "nyc --reporter=text npm test"
+    "test-ci": "nyc --reporter=lcov --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "1.3.7"
+  "version": "1.3.8"
 }

+ 2 - 2
express-server/node_modules/array-flatten/package.json

@@ -2,7 +2,7 @@
   "_from": "array-flatten@1.1.1",
   "_id": "array-flatten@1.1.1",
   "_inBundle": false,
-  "_integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+  "_integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
   "_location": "/array-flatten",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
   "_shasum": "9a5f699051b1e7073328f2a008968b64ea2955d2",
   "_spec": "array-flatten@1.1.1",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Blake Embrey",
     "email": "hello@blakeembrey.com",

+ 42 - 0
express-server/node_modules/body-parser/HISTORY.md

@@ -1,3 +1,45 @@
+1.20.0 / 2022-04-02
+===================
+
+  * Fix error message for json parse whitespace in `strict`
+  * Fix internal error when inflated body exceeds limit
+  * Prevent loss of async hooks context
+  * Prevent hanging when request already read
+  * deps: depd@2.0.0
+    - Replace internal `eval` usage with `Function` constructor
+    - Use instance methods on `process` to check for listeners
+  * deps: http-errors@2.0.0
+    - deps: depd@2.0.0
+    - deps: statuses@2.0.1
+  * deps: on-finished@2.4.1
+  * deps: qs@6.10.3
+  * deps: raw-body@2.5.1
+    - deps: http-errors@2.0.0
+
+1.19.2 / 2022-02-15
+===================
+
+  * deps: bytes@3.1.2
+  * deps: qs@6.9.7
+    * Fix handling of `__proto__` keys
+  * deps: raw-body@2.4.3
+    - deps: bytes@3.1.2
+
+1.19.1 / 2021-12-10
+===================
+
+  * deps: bytes@3.1.1
+  * deps: http-errors@1.8.1
+    - deps: inherits@2.0.4
+    - deps: toidentifier@1.0.1
+    - deps: setprototypeof@1.2.0
+  * deps: qs@6.9.6
+  * deps: raw-body@2.4.2
+    - deps: bytes@3.1.1
+    - deps: http-errors@1.8.1
+  * deps: safe-buffer@5.2.1
+  * deps: type-is@~1.6.18
+
 1.19.0 / 2019-04-25
 ===================
 

+ 33 - 12
express-server/node_modules/body-parser/README.md

@@ -2,7 +2,7 @@
 
 [![NPM Version][npm-image]][npm-url]
 [![NPM Downloads][downloads-image]][downloads-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Node.js body parsing middleware.
@@ -49,8 +49,6 @@ $ npm install body-parser
 
 ## API
 
-<!-- eslint-disable no-unused-vars -->
-
 ```js
 var bodyParser = require('body-parser')
 ```
@@ -281,14 +279,15 @@ encoding of the request. The parsing can be aborted by throwing an error.
 
 ## Errors
 
-The middlewares provided by this module create errors depending on the error
-condition during parsing. The errors will typically have a `status`/`statusCode`
-property that contains the suggested HTTP response code, an `expose` property
-to determine if the `message` property should be displayed to the client, a
-`type` property to determine the type of error without matching against the
-`message`, and a `body` property containing the read body, if available.
+The middlewares provided by this module create errors using the
+[`http-errors` module](https://www.npmjs.com/package/http-errors). The errors
+will typically have a `status`/`statusCode` property that contains the suggested
+HTTP response code, an `expose` property to determine if the `message` property
+should be displayed to the client, a `type` property to determine the type of
+error without matching against the `message`, and a `body` property containing
+the read body, if available.
 
-The following are the common errors emitted, though any error can come through
+The following are the common errors created, though any error can come through
 for various reasons.
 
 ### content encoding unsupported
@@ -299,6 +298,20 @@ contained an encoding but the "inflation" option was set to `false`. The
 `'encoding.unsupported'`, and the `charset` property will be set to the
 encoding that is unsupported.
 
+### entity parse failed
+
+This error will occur when the request contained an entity that could not be
+parsed by the middleware. The `status` property is set to `400`, the `type`
+property is set to `'entity.parse.failed'`, and the `body` property is set to
+the entity value that failed parsing.
+
+### entity verify failed
+
+This error will occur when the request contained an entity that could not be
+failed verification by the defined `verify` option. The `status` property is
+set to `403`, the `type` property is set to `'entity.verify.failed'`, and the
+`body` property is set to the entity value that failed verification.
+
 ### request aborted
 
 This error will occur when the request is aborted by the client before reading
@@ -329,6 +342,14 @@ to this middleware. This module operates directly on bytes only and you cannot
 call `req.setEncoding` when using this module. The `status` property is set to
 `500` and the `type` property is set to `'stream.encoding.set'`.
 
+### stream is not readable
+
+This error will occur when the request is no longer readable when this middleware
+attempts to read it. This typically means something other than a middleware from
+this module read the reqest body already and the middleware was also configured to
+read the same request. The `status` property is set to `500` and the `type`
+property is set to `'stream.not.readable'`.
+
 ### too many parameters
 
 This error will occur when the content of the request exceeds the configured
@@ -435,9 +456,9 @@ app.use(bodyParser.text({ type: 'text/html' }))
 
 [npm-image]: https://img.shields.io/npm/v/body-parser.svg
 [npm-url]: https://npmjs.org/package/body-parser
-[travis-image]: https://img.shields.io/travis/expressjs/body-parser/master.svg
-[travis-url]: https://travis-ci.org/expressjs/body-parser
 [coveralls-image]: https://img.shields.io/coveralls/expressjs/body-parser/master.svg
 [coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master
 [downloads-image]: https://img.shields.io/npm/dm/body-parser.svg
 [downloads-url]: https://npmjs.org/package/body-parser
+[github-actions-ci-image]: https://img.shields.io/github/workflow/status/expressjs/body-parser/ci/master?label=ci
+[github-actions-ci-url]: https://github.com/expressjs/body-parser/actions/workflows/ci.yml

+ 26 - 2
express-server/node_modules/body-parser/lib/read.js

@@ -12,9 +12,11 @@
  */
 
 var createError = require('http-errors')
+var destroy = require('destroy')
 var getBody = require('raw-body')
 var iconv = require('iconv-lite')
 var onFinished = require('on-finished')
+var unpipe = require('unpipe')
 var zlib = require('zlib')
 
 /**
@@ -89,9 +91,14 @@ function read (req, res, next, parse, debug, options) {
         _error = createError(400, error)
       }
 
+      // unpipe from stream and destroy
+      if (stream !== req) {
+        unpipe(req)
+        destroy(stream, true)
+      }
+
       // read off entire request
-      stream.resume()
-      onFinished(req, function onfinished () {
+      dump(req, function onfinished () {
         next(createError(400, _error))
       })
       return
@@ -179,3 +186,20 @@ function contentstream (req, debug, inflate) {
 
   return stream
 }
+
+/**
+ * Dump the contents of a request.
+ *
+ * @param {object} req
+ * @param {function} callback
+ * @api private
+ */
+
+function dump (req, callback) {
+  if (onFinished.isFinished(req)) {
+    callback(null)
+  } else {
+    onFinished(req, callback)
+    req.resume()
+  }
+}

+ 10 - 4
express-server/node_modules/body-parser/lib/types/json.js

@@ -37,7 +37,7 @@ module.exports = json
  *            %x0D )              ; Carriage return
  */
 
-var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*(.)/ // eslint-disable-line no-control-regex
+var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/ // eslint-disable-line no-control-regex
 
 /**
  * Create a middleware to parse JSON bodies.
@@ -122,7 +122,7 @@ function json (options) {
 
     // assert charset per RFC 7159 sec 8.1
     var charset = getCharset(req) || 'utf-8'
-    if (charset.substr(0, 4) !== 'utf-') {
+    if (charset.slice(0, 4) !== 'utf-') {
       debug('invalid charset')
       next(createError(415, 'unsupported charset "' + charset.toUpperCase() + '"', {
         charset: charset,
@@ -152,7 +152,9 @@ function json (options) {
 
 function createStrictSyntaxError (str, char) {
   var index = str.indexOf(char)
-  var partial = str.substring(0, index) + '#'
+  var partial = index !== -1
+    ? str.substring(0, index) + '#'
+    : ''
 
   try {
     JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation')
@@ -173,7 +175,11 @@ function createStrictSyntaxError (str, char) {
  */
 
 function firstchar (str) {
-  return FIRST_CHAR_REGEXP.exec(str)[1]
+  var match = FIRST_CHAR_REGEXP.exec(str)
+
+  return match
+    ? match[1]
+    : undefined
 }
 
 /**

+ 32 - 28
express-server/node_modules/body-parser/package.json

@@ -1,8 +1,8 @@
 {
   "_from": "body-parser@^1.19.0",
-  "_id": "body-parser@1.19.0",
+  "_id": "body-parser@1.20.0",
   "_inBundle": false,
-  "_integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+  "_integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==",
   "_location": "/body-parser",
   "_phantomChildren": {},
   "_requested": {
@@ -19,10 +19,10 @@
     "/",
     "/express"
   ],
-  "_resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
-  "_shasum": "96b2709e57c9c4e09a6fd66a8fd979844f69f08a",
+  "_resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
+  "_shasum": "3de69bd89011c11573d7bfee6a64f11b6bd27cc5",
   "_spec": "body-parser@^1.19.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server",
+  "_where": "C:\\FatboarProject\\express-server",
   "bugs": {
     "url": "https://github.com/expressjs/body-parser/issues"
   },
@@ -39,40 +39,44 @@
     }
   ],
   "dependencies": {
-    "bytes": "3.1.0",
+    "bytes": "3.1.2",
     "content-type": "~1.0.4",
     "debug": "2.6.9",
-    "depd": "~1.1.2",
-    "http-errors": "1.7.2",
+    "depd": "2.0.0",
+    "destroy": "1.2.0",
+    "http-errors": "2.0.0",
     "iconv-lite": "0.4.24",
-    "on-finished": "~2.3.0",
-    "qs": "6.7.0",
-    "raw-body": "2.4.0",
-    "type-is": "~1.6.17"
+    "on-finished": "2.4.1",
+    "qs": "6.10.3",
+    "raw-body": "2.5.1",
+    "type-is": "~1.6.18",
+    "unpipe": "1.0.0"
   },
   "deprecated": false,
   "description": "Node.js body parsing middleware",
   "devDependencies": {
-    "eslint": "5.16.0",
-    "eslint-config-standard": "12.0.0",
-    "eslint-plugin-import": "2.17.2",
-    "eslint-plugin-markdown": "1.0.0",
-    "eslint-plugin-node": "8.0.1",
-    "eslint-plugin-promise": "4.1.1",
-    "eslint-plugin-standard": "4.0.0",
-    "istanbul": "0.4.5",
+    "eslint": "7.32.0",
+    "eslint-config-standard": "14.1.1",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-markdown": "2.2.1",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-standard": "4.1.0",
     "methods": "1.1.2",
-    "mocha": "6.1.4",
-    "safe-buffer": "5.1.2",
-    "supertest": "4.0.2"
+    "mocha": "9.2.2",
+    "nyc": "15.1.0",
+    "safe-buffer": "5.2.1",
+    "supertest": "6.2.2"
   },
   "engines": {
-    "node": ">= 0.8"
+    "node": ">= 0.8",
+    "npm": "1.2.8000 || >= 1.4.16"
   },
   "files": [
     "lib/",
     "LICENSE",
     "HISTORY.md",
+    "SECURITY.md",
     "index.js"
   ],
   "homepage": "https://github.com/expressjs/body-parser#readme",
@@ -83,10 +87,10 @@
     "url": "git+https://github.com/expressjs/body-parser.git"
   },
   "scripts": {
-    "lint": "eslint --plugin markdown --ext js,md .",
+    "lint": "eslint .",
     "test": "mocha --require test/support/env --reporter spec --check-leaks --bail test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/"
+    "test-ci": "nyc --reporter=lcov --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "1.19.0"
+  "version": "1.20.0"
 }

+ 10 - 0
express-server/node_modules/bytes/History.md

@@ -1,3 +1,13 @@
+3.1.2 / 2022-01-27
+==================
+
+  * Fix return value for un-parsable strings
+
+3.1.1 / 2021-11-15
+==================
+
+  * Fix "thousandsSeparator" incorrecting formatting fractional part
+
 3.1.0 / 2019-01-22
 ==================
 

+ 42 - 16
express-server/node_modules/bytes/Readme.md

@@ -2,7 +2,7 @@
 
 [![NPM Version][npm-image]][npm-url]
 [![NPM Downloads][downloads-image]][downloads-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][ci-image]][ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Utility to parse a string bytes (ex: `1TB`) to bytes (`1099511627776`) and vice-versa.
@@ -23,6 +23,33 @@ $ npm install bytes
 var bytes = require('bytes');
 ```
 
+#### bytes(number|string value, [options]): number|string|null
+
+Default export function. Delegates to either `bytes.format` or `bytes.parse` based on the type of `value`.
+
+**Arguments**
+
+| Name    | Type     | Description        |
+|---------|----------|--------------------|
+| value   | `number`|`string` | Number value to format or string value to parse |
+| options | `Object` | Conversion options for `format` |
+
+**Returns**
+
+| Name    | Type             | Description                                     |
+|---------|------------------|-------------------------------------------------|
+| results | `string`|`number`|`null` | Return null upon error. Numeric value in bytes, or string value otherwise. |
+
+**Example**
+
+```js
+bytes(1024);
+// output: '1KB'
+
+bytes('1KB');
+// output: 1024
+```
+
 #### bytes.format(number value, [options]): string|null
 
 Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is
@@ -41,7 +68,7 @@ Format the given value in bytes into a string. If the value is negative, it is k
 |-------------------|--------|-----------------------------------------------------------------------------------------|
 | decimalPlaces | `number`|`null` | Maximum number of decimal places to include in output. Default value to `2`. |
 | fixedDecimals | `boolean`|`null` | Whether to always display the maximum number of decimal places. Default value to `false` |
-| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `.`... Default value to `''`. |
+| thousandsSeparator | `string`|`null` | Example of values: `' '`, `','` and `'.'`... Default value to `''`. |
 | unit | `string`|`null` | The unit in which the result will be returned (B/KB/MB/GB/TB). Default value to `''` (which means auto detect). |
 | unitSeparator | `string`|`null` | Separator to use between number and unit. Default value to `''`. |
 
@@ -54,21 +81,20 @@ Format the given value in bytes into a string. If the value is negative, it is k
 **Example**
 
 ```js
-bytes(1024);
+bytes.format(1024);
 // output: '1KB'
 
-bytes(1000);
+bytes.format(1000);
 // output: '1000B'
 
-bytes(1000, {thousandsSeparator: ' '});
+bytes.format(1000, {thousandsSeparator: ' '});
 // output: '1 000B'
 
-bytes(1024 * 1.7, {decimalPlaces: 0});
+bytes.format(1024 * 1.7, {decimalPlaces: 0});
 // output: '2KB'
 
-bytes(1024, {unitSeparator: ' '});
+bytes.format(1024, {unitSeparator: ' '});
 // output: '1 KB'
-
 ```
 
 #### bytes.parse(string|number value): number|null
@@ -102,25 +128,25 @@ The units are in powers of two, not ten. This means 1kb = 1024b according to thi
 **Example**
 
 ```js
-bytes('1KB');
+bytes.parse('1KB');
 // output: 1024
 
-bytes('1024');
+bytes.parse('1024');
 // output: 1024
 
-bytes(1024);
-// output: 1KB
+bytes.parse(1024);
+// output: 1024
 ```
 
-## License 
+## License
 
 [MIT](LICENSE)
 
+[ci-image]: https://badgen.net/github/checks/visionmedia/bytes.js/master?label=ci
+[ci-url]: https://github.com/visionmedia/bytes.js/actions?query=workflow%3Aci
 [coveralls-image]: https://badgen.net/coveralls/c/github/visionmedia/bytes.js/master
 [coveralls-url]: https://coveralls.io/r/visionmedia/bytes.js?branch=master
 [downloads-image]: https://badgen.net/npm/dm/bytes
 [downloads-url]: https://npmjs.org/package/bytes
-[npm-image]: https://badgen.net/npm/node/bytes
+[npm-image]: https://badgen.net/npm/v/bytes
 [npm-url]: https://npmjs.org/package/bytes
-[travis-image]: https://badgen.net/travis/visionmedia/bytes.js/master
-[travis-url]: https://travis-ci.org/visionmedia/bytes.js

+ 9 - 1
express-server/node_modules/bytes/index.js

@@ -117,7 +117,11 @@ function format(value, options) {
   }
 
   if (thousandsSeparator) {
-    str = str.replace(formatThousandsRegExp, thousandsSeparator);
+    str = str.split('.').map(function (s, i) {
+      return i === 0
+        ? s.replace(formatThousandsRegExp, thousandsSeparator)
+        : s
+    }).join('.');
   }
 
   return str + unitSeparator + unit;
@@ -158,5 +162,9 @@ function parse(val) {
     unit = results[4].toLowerCase();
   }
 
+  if (isNaN(floatValue)) {
+    return null;
+  }
+
   return Math.floor(map[unit] * floatValue);
 }

+ 16 - 15
express-server/node_modules/bytes/package.json

@@ -1,28 +1,28 @@
 {
-  "_from": "bytes@3.1.0",
-  "_id": "bytes@3.1.0",
+  "_from": "bytes@3.1.2",
+  "_id": "bytes@3.1.2",
   "_inBundle": false,
-  "_integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+  "_integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
   "_location": "/bytes",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "bytes@3.1.0",
+    "raw": "bytes@3.1.2",
     "name": "bytes",
     "escapedName": "bytes",
-    "rawSpec": "3.1.0",
+    "rawSpec": "3.1.2",
     "saveSpec": null,
-    "fetchSpec": "3.1.0"
+    "fetchSpec": "3.1.2"
   },
   "_requiredBy": [
     "/body-parser",
     "/raw-body"
   ],
-  "_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
-  "_shasum": "f6cf7933a360e0588fa9fde85651cdc7f805d1f6",
-  "_spec": "bytes@3.1.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\body-parser",
+  "_resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+  "_shasum": "8b0beeb98605adf1b128fa4386403c009e0221a5",
+  "_spec": "bytes@3.1.2",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\body-parser",
   "author": {
     "name": "TJ Holowaychuk",
     "email": "tj@vision-media.ca",
@@ -45,9 +45,10 @@
   "deprecated": false,
   "description": "Utility to parse a string bytes to bytes and vice-versa",
   "devDependencies": {
-    "eslint": "5.12.1",
-    "mocha": "5.2.0",
-    "nyc": "13.1.0"
+    "eslint": "7.32.0",
+    "eslint-plugin-markdown": "2.2.1",
+    "mocha": "9.2.0",
+    "nyc": "15.1.0"
   },
   "engines": {
     "node": ">= 0.8"
@@ -77,8 +78,8 @@
   "scripts": {
     "lint": "eslint .",
     "test": "mocha --check-leaks --reporter spec",
-    "test-ci": "nyc --reporter=text npm test",
+    "test-ci": "nyc --reporter=lcov --reporter=text npm test",
     "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "3.1.0"
+  "version": "3.1.2"
 }

+ 5 - 0
express-server/node_modules/content-disposition/HISTORY.md

@@ -1,3 +1,8 @@
+0.5.4 / 2021-12-10
+==================
+
+  * deps: safe-buffer@5.2.1
+
 0.5.3 / 2018-12-17
 ==================
 

+ 3 - 9
express-server/node_modules/content-disposition/README.md

@@ -3,7 +3,7 @@
 [![NPM Version][npm-image]][npm-url]
 [![NPM Downloads][downloads-image]][downloads-url]
 [![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Create and parse HTTP `Content-Disposition` header
@@ -16,8 +16,6 @@ $ npm install content-disposition
 
 ## API
 
-<!-- eslint-disable no-unused-vars -->
-
 ```js
 var contentDisposition = require('content-disposition')
 ```
@@ -28,8 +26,6 @@ Create an attachment `Content-Disposition` header value using the given file nam
 if supplied. The `filename` is optional and if no file name is desired, but you
 want to specify `options`, set `filename` to `undefined`.
 
-<!-- eslint-disable no-undef -->
-
 ```js
 res.setHeader('Content-Disposition', contentDisposition('∫ maths.pdf'))
 ```
@@ -70,8 +66,6 @@ it). The type is normalized to lower-case.
 
 ### contentDisposition.parse(string)
 
-<!-- eslint-disable no-undef, no-unused-vars -->
-
 ```js
 var disposition = contentDisposition.parse('attachment; filename="EURO rates.txt"; filename*=UTF-8\'\'%e2%82%ac%20rates.txt')
 ```
@@ -140,9 +134,9 @@ $ npm test
 [npm-url]: https://npmjs.org/package/content-disposition
 [node-version-image]: https://img.shields.io/node/v/content-disposition.svg
 [node-version-url]: https://nodejs.org/en/download
-[travis-image]: https://img.shields.io/travis/jshttp/content-disposition.svg
-[travis-url]: https://travis-ci.org/jshttp/content-disposition
 [coveralls-image]: https://img.shields.io/coveralls/jshttp/content-disposition.svg
 [coveralls-url]: https://coveralls.io/r/jshttp/content-disposition?branch=master
 [downloads-image]: https://img.shields.io/npm/dm/content-disposition.svg
 [downloads-url]: https://npmjs.org/package/content-disposition
+[github-actions-ci-image]: https://img.shields.io/github/workflow/status/jshttp/content-disposition/ci/master?label=ci
+[github-actions-ci-url]: https://github.com/jshttp/content-disposition?query=workflow%3Aci

+ 1 - 1
express-server/node_modules/content-disposition/index.js

@@ -255,7 +255,7 @@ function format (obj) {
 }
 
 /**
- * Decode a RFC 6987 field value (gracefully).
+ * Decode a RFC 5987 field value (gracefully).
  *
  * @param {string} str
  * @return {string}

+ 23 - 23
express-server/node_modules/content-disposition/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "content-disposition@0.5.3",
-  "_id": "content-disposition@0.5.3",
+  "_from": "content-disposition@0.5.4",
+  "_id": "content-disposition@0.5.4",
   "_inBundle": false,
-  "_integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+  "_integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
   "_location": "/content-disposition",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "content-disposition@0.5.3",
+    "raw": "content-disposition@0.5.4",
     "name": "content-disposition",
     "escapedName": "content-disposition",
-    "rawSpec": "0.5.3",
+    "rawSpec": "0.5.4",
     "saveSpec": null,
-    "fetchSpec": "0.5.3"
+    "fetchSpec": "0.5.4"
   },
   "_requiredBy": [
     "/express"
   ],
-  "_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
-  "_shasum": "e130caf7e7279087c5616c2007d0485698984fbd",
-  "_spec": "content-disposition@0.5.3",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+  "_shasum": "8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe",
+  "_spec": "content-disposition@0.5.4",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Douglas Christopher Wilson",
     "email": "doug@somethingdoug.com"
@@ -31,21 +31,21 @@
   },
   "bundleDependencies": false,
   "dependencies": {
-    "safe-buffer": "5.1.2"
+    "safe-buffer": "5.2.1"
   },
   "deprecated": false,
   "description": "Create and parse Content-Disposition header",
   "devDependencies": {
     "deep-equal": "1.0.1",
-    "eslint": "5.10.0",
-    "eslint-config-standard": "12.0.0",
-    "eslint-plugin-import": "2.14.0",
-    "eslint-plugin-markdown": "1.0.0-rc.1",
-    "eslint-plugin-node": "7.0.1",
-    "eslint-plugin-promise": "4.0.1",
-    "eslint-plugin-standard": "4.0.0",
+    "eslint": "7.32.0",
+    "eslint-config-standard": "13.0.1",
+    "eslint-plugin-import": "2.25.3",
+    "eslint-plugin-markdown": "2.2.1",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-standard": "4.1.0",
     "istanbul": "0.4.5",
-    "mocha": "5.2.0"
+    "mocha": "9.1.3"
   },
   "engines": {
     "node": ">= 0.6"
@@ -70,10 +70,10 @@
     "url": "git+https://github.com/jshttp/content-disposition.git"
   },
   "scripts": {
-    "lint": "eslint --plugin markdown --ext js,md .",
+    "lint": "eslint .",
     "test": "mocha --reporter spec --bail --check-leaks test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
+    "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
+    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
   },
-  "version": "0.5.3"
+  "version": "0.5.4"
 }

+ 1 - 1
express-server/node_modules/content-type/package.json

@@ -22,7 +22,7 @@
   "_resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
   "_shasum": "e138cc75e040c727b1966fe5e5f8c9aee256fe3b",
   "_spec": "content-type@~1.0.4",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Douglas Christopher Wilson",
     "email": "doug@somethingdoug.com"

+ 2 - 2
express-server/node_modules/cookie-signature/package.json

@@ -2,7 +2,7 @@
   "_from": "cookie-signature@1.0.6",
   "_id": "cookie-signature@1.0.6",
   "_inBundle": false,
-  "_integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+  "_integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
   "_location": "/cookie-signature",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
   "_shasum": "e303a882b342cc3ee8ca513a79999734dab3ae2c",
   "_spec": "cookie-signature@1.0.6",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "TJ Holowaychuk",
     "email": "tj@learnboost.com"

+ 19 - 0
express-server/node_modules/cookie/HISTORY.md

@@ -1,3 +1,22 @@
+0.5.0 / 2022-04-11
+==================
+
+  * Add `priority` option
+  * Fix `expires` option to reject invalid dates
+  * pref: improve default decode speed
+  * pref: remove slow string split in parse
+
+0.4.2 / 2022-02-02
+==================
+
+  * pref: read value only when assigning in parse
+  * pref: remove unnecessary regexp in parse
+
+0.4.1 / 2020-04-21
+==================
+
+  * Fix `maxAge` option to reject invalid values
+
 0.4.0 / 2019-05-15
 ==================
 

+ 73 - 24
express-server/node_modules/cookie/README.md

@@ -3,13 +3,17 @@
 [![NPM Version][npm-version-image]][npm-url]
 [![NPM Downloads][npm-downloads-image]][npm-url]
 [![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Basic HTTP cookie parser and serializer for HTTP servers.
 
 ## Installation
 
+This is a [Node.js](https://nodejs.org/en/) module available through the
+[npm registry](https://www.npmjs.com/). Installation is done using the
+[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
+
 ```sh
 $ npm install cookie
 ```
@@ -108,9 +112,23 @@ so if both are set, they should point to the same date and time.
 Specifies the value for the [`Path` `Set-Cookie` attribute][rfc-6265-5.2.4]. By default, the path
 is considered the ["default path"][rfc-6265-5.1.4].
 
+##### priority
+
+Specifies the `string` to be the value for the [`Priority` `Set-Cookie` attribute][rfc-west-cookie-priority-00-4.1].
+
+  - `'low'` will set the `Priority` attribute to `Low`.
+  - `'medium'` will set the `Priority` attribute to `Medium`, the default priority when not set.
+  - `'high'` will set the `Priority` attribute to `High`.
+
+More information about the different priority levels can be found in
+[the specification][rfc-west-cookie-priority-00-4.1].
+
+**note** This is an attribute that has not yet been fully standardized, and may change in the future.
+This also means many clients may ignore this attribute until they understand it.
+
 ##### sameSite
 
-Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Cookie` attribute][rfc-6265bis-03-4.1.2.7].
+Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Cookie` attribute][rfc-6265bis-09-5.4.7].
 
   - `true` will set the `SameSite` attribute to `Strict` for strict same site enforcement.
   - `false` will not set the `SameSite` attribute.
@@ -119,7 +137,7 @@ Specifies the `boolean` or `string` to be the value for the [`SameSite` `Set-Coo
   - `'strict'` will set the `SameSite` attribute to `Strict` for strict same site enforcement.
 
 More information about the different enforcement levels can be found in
-[the specification][rfc-6265bis-03-4.1.2.7].
+[the specification][rfc-6265bis-09-5.4.7].
 
 **note** This is an attribute that has not yet been fully standardized, and may change in the future.
 This also means many clients may ignore this attribute until they understand it.
@@ -194,40 +212,71 @@ $ npm test
 ```
 $ npm run bench
 
-> cookie@0.3.1 bench cookie
+> cookie@0.4.2 bench
 > node benchmark/index.js
 
-  http_parser@2.8.0
-  node@6.14.2
-  v8@5.1.281.111
-  uv@1.16.1
+  node@16.14.0
+  v8@9.4.146.24-node.20
+  uv@1.43.0
   zlib@1.2.11
-  ares@1.10.1-DEV
-  icu@58.2
-  modules@48
-  napi@3
-  openssl@1.0.2o
+  brotli@1.0.9
+  ares@1.18.1
+  modules@93
+  nghttp2@1.45.1
+  napi@8
+  llhttp@6.0.4
+  openssl@1.1.1m+quic
+  cldr@40.0
+  icu@70.1
+  tz@2021a3
+  unicode@14.0
+  ngtcp2@0.1.0-DEV
+  nghttp3@0.1.0-DEV
+
+> node benchmark/parse-top.js
+
+  cookie.parse - top sites
+
+  15 tests completed.
+
+  parse accounts.google.com x 2,421,245 ops/sec ±0.80% (188 runs sampled)
+  parse apple.com           x 2,684,710 ops/sec ±0.59% (189 runs sampled)
+  parse cloudflare.com      x 2,231,418 ops/sec ±0.76% (186 runs sampled)
+  parse docs.google.com     x 2,316,357 ops/sec ±1.28% (187 runs sampled)
+  parse drive.google.com    x 2,363,543 ops/sec ±0.49% (189 runs sampled)
+  parse en.wikipedia.org    x   839,414 ops/sec ±0.53% (189 runs sampled)
+  parse linkedin.com        x   553,797 ops/sec ±0.63% (190 runs sampled)
+  parse maps.google.com     x 1,314,779 ops/sec ±0.72% (189 runs sampled)
+  parse microsoft.com       x   153,783 ops/sec ±0.53% (190 runs sampled)
+  parse play.google.com     x 2,249,574 ops/sec ±0.59% (187 runs sampled)
+  parse plus.google.com     x 2,258,682 ops/sec ±0.60% (188 runs sampled)
+  parse sites.google.com    x 2,247,069 ops/sec ±0.68% (189 runs sampled)
+  parse support.google.com  x 1,456,840 ops/sec ±0.70% (187 runs sampled)
+  parse www.google.com      x 1,046,028 ops/sec ±0.58% (188 runs sampled)
+  parse youtu.be            x   937,428 ops/sec ±1.47% (190 runs sampled)
+  parse youtube.com         x   963,878 ops/sec ±0.59% (190 runs sampled)
 
 > node benchmark/parse.js
 
-  cookie.parse
+  cookie.parse - generic
 
   6 tests completed.
 
-  simple      x 1,200,691 ops/sec ±1.12% (189 runs sampled)
-  decode      x 1,012,994 ops/sec ±0.97% (186 runs sampled)
-  unquote     x 1,074,174 ops/sec ±2.43% (186 runs sampled)
-  duplicates  x   438,424 ops/sec ±2.17% (184 runs sampled)
-  10 cookies  x   147,154 ops/sec ±1.01% (186 runs sampled)
-  100 cookies x    14,274 ops/sec ±1.07% (187 runs sampled)
+  simple      x 2,745,604 ops/sec ±0.77% (185 runs sampled)
+  decode      x   557,287 ops/sec ±0.60% (188 runs sampled)
+  unquote     x 2,498,475 ops/sec ±0.55% (189 runs sampled)
+  duplicates  x   868,591 ops/sec ±0.89% (187 runs sampled)
+  10 cookies  x   306,745 ops/sec ±0.49% (190 runs sampled)
+  100 cookies x    22,414 ops/sec ±2.38% (182 runs sampled)
 ```
 
 ## References
 
 - [RFC 6265: HTTP State Management Mechanism][rfc-6265]
-- [Same-site Cookies][rfc-6265bis-03-4.1.2.7]
+- [Same-site Cookies][rfc-6265bis-09-5.4.7]
 
-[rfc-6265bis-03-4.1.2.7]: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-03#section-4.1.2.7
+[rfc-west-cookie-priority-00-4.1]: https://tools.ietf.org/html/draft-west-cookie-priority-00#section-4.1
+[rfc-6265bis-09-5.4.7]: https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-09#section-5.4.7
 [rfc-6265]: https://tools.ietf.org/html/rfc6265
 [rfc-6265-5.1.4]: https://tools.ietf.org/html/rfc6265#section-5.1.4
 [rfc-6265-5.2.1]: https://tools.ietf.org/html/rfc6265#section-5.2.1
@@ -244,10 +293,10 @@ $ npm run bench
 
 [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/cookie/master
 [coveralls-url]: https://coveralls.io/r/jshttp/cookie?branch=master
+[github-actions-ci-image]: https://img.shields.io/github/workflow/status/jshttp/cookie/ci/master?label=ci
+[github-actions-ci-url]: https://github.com/jshttp/cookie/actions/workflows/ci.yml
 [node-version-image]: https://badgen.net/npm/node/cookie
 [node-version-url]: https://nodejs.org/en/download
 [npm-downloads-image]: https://badgen.net/npm/dm/cookie
 [npm-url]: https://npmjs.org/package/cookie
 [npm-version-image]: https://badgen.net/npm/v/cookie
-[travis-image]: https://badgen.net/travis/jshttp/cookie/master
-[travis-url]: https://travis-ci.org/jshttp/cookie

+ 91 - 19
express-server/node_modules/cookie/index.js

@@ -20,9 +20,7 @@ exports.serialize = serialize;
  * @private
  */
 
-var decode = decodeURIComponent;
-var encode = encodeURIComponent;
-var pairSplitRegExp = /; */;
+var __toString = Object.prototype.toString
 
 /**
  * RegExp to match field-content in RFC 7230 sec 3.2
@@ -53,30 +51,42 @@ function parse(str, options) {
 
   var obj = {}
   var opt = options || {};
-  var pairs = str.split(pairSplitRegExp);
   var dec = opt.decode || decode;
 
-  for (var i = 0; i < pairs.length; i++) {
-    var pair = pairs[i];
-    var eq_idx = pair.indexOf('=');
+  var index = 0
+  while (index < str.length) {
+    var eqIdx = str.indexOf('=', index)
 
-    // skip things that don't look like key=value
-    if (eq_idx < 0) {
-      continue;
+    // no more cookie pairs
+    if (eqIdx === -1) {
+      break
     }
 
-    var key = pair.substr(0, eq_idx).trim()
-    var val = pair.substr(++eq_idx, pair.length).trim();
+    var endIdx = str.indexOf(';', index)
 
-    // quoted values
-    if ('"' == val[0]) {
-      val = val.slice(1, -1);
+    if (endIdx === -1) {
+      endIdx = str.length
+    } else if (endIdx < eqIdx) {
+      // backtrack on prior semicolon
+      index = str.lastIndexOf(';', eqIdx - 1) + 1
+      continue
     }
 
+    var key = str.slice(index, eqIdx).trim()
+
     // only assign once
-    if (undefined == obj[key]) {
+    if (undefined === obj[key]) {
+      var val = str.slice(eqIdx + 1, endIdx).trim()
+
+      // quoted values
+      if (val.charCodeAt(0) === 0x22) {
+        val = val.slice(1, -1)
+      }
+
       obj[key] = tryDecode(val, dec);
     }
+
+    index = endIdx + 1
   }
 
   return obj;
@@ -120,7 +130,11 @@ function serialize(name, val, options) {
 
   if (null != opt.maxAge) {
     var maxAge = opt.maxAge - 0;
-    if (isNaN(maxAge)) throw new Error('maxAge should be a Number');
+
+    if (isNaN(maxAge) || !isFinite(maxAge)) {
+      throw new TypeError('option maxAge is invalid')
+    }
+
     str += '; Max-Age=' + Math.floor(maxAge);
   }
 
@@ -141,11 +155,13 @@ function serialize(name, val, options) {
   }
 
   if (opt.expires) {
-    if (typeof opt.expires.toUTCString !== 'function') {
+    var expires = opt.expires
+
+    if (!isDate(expires) || isNaN(expires.valueOf())) {
       throw new TypeError('option expires is invalid');
     }
 
-    str += '; Expires=' + opt.expires.toUTCString();
+    str += '; Expires=' + expires.toUTCString()
   }
 
   if (opt.httpOnly) {
@@ -156,6 +172,26 @@ function serialize(name, val, options) {
     str += '; Secure';
   }
 
+  if (opt.priority) {
+    var priority = typeof opt.priority === 'string'
+      ? opt.priority.toLowerCase()
+      : opt.priority
+
+    switch (priority) {
+      case 'low':
+        str += '; Priority=Low'
+        break
+      case 'medium':
+        str += '; Priority=Medium'
+        break
+      case 'high':
+        str += '; Priority=High'
+        break
+      default:
+        throw new TypeError('option priority is invalid')
+    }
+  }
+
   if (opt.sameSite) {
     var sameSite = typeof opt.sameSite === 'string'
       ? opt.sameSite.toLowerCase() : opt.sameSite;
@@ -181,6 +217,42 @@ function serialize(name, val, options) {
   return str;
 }
 
+/**
+ * URL-decode string value. Optimized to skip native call when no %.
+ *
+ * @param {string} str
+ * @returns {string}
+ */
+
+function decode (str) {
+  return str.indexOf('%') !== -1
+    ? decodeURIComponent(str)
+    : str
+}
+
+/**
+ * URL-encode value.
+ *
+ * @param {string} str
+ * @returns {string}
+ */
+
+function encode (val) {
+  return encodeURIComponent(val)
+}
+
+/**
+ * Determine if value is a Date.
+ *
+ * @param {*} val
+ * @private
+ */
+
+function isDate (val) {
+  return __toString.call(val) === '[object Date]' ||
+    val instanceof Date
+}
+
 /**
  * Try decoding a string using a decoding function.
  *

+ 22 - 18
express-server/node_modules/cookie/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "cookie@0.4.0",
-  "_id": "cookie@0.4.0",
+  "_from": "cookie@0.5.0",
+  "_id": "cookie@0.5.0",
   "_inBundle": false,
-  "_integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+  "_integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
   "_location": "/cookie",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "cookie@0.4.0",
+    "raw": "cookie@0.5.0",
     "name": "cookie",
     "escapedName": "cookie",
-    "rawSpec": "0.4.0",
+    "rawSpec": "0.5.0",
     "saveSpec": null,
-    "fetchSpec": "0.4.0"
+    "fetchSpec": "0.5.0"
   },
   "_requiredBy": [
     "/express"
   ],
-  "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
-  "_shasum": "beb437e7022b3b6d49019d088665303ebe9c14ba",
-  "_spec": "cookie@0.4.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+  "_shasum": "d1f5d71adec6558c58f389987c366aa47e994f8b",
+  "_spec": "cookie@0.5.0",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Roman Shtylman",
     "email": "shtylman@gmail.com"
@@ -41,10 +41,12 @@
   "devDependencies": {
     "beautify-benchmark": "0.2.4",
     "benchmark": "2.1.4",
-    "eslint": "5.16.0",
-    "eslint-plugin-markdown": "1.0.0",
-    "istanbul": "0.4.5",
-    "mocha": "6.1.4"
+    "eslint": "7.32.0",
+    "eslint-plugin-markdown": "2.2.1",
+    "mocha": "9.2.2",
+    "nyc": "15.1.0",
+    "safe-buffer": "5.2.1",
+    "top-sites": "1.1.97"
   },
   "engines": {
     "node": ">= 0.6"
@@ -53,6 +55,7 @@
     "HISTORY.md",
     "LICENSE",
     "README.md",
+    "SECURITY.md",
     "index.js"
   ],
   "homepage": "https://github.com/jshttp/cookie#readme",
@@ -68,11 +71,12 @@
   },
   "scripts": {
     "bench": "node benchmark/index.js",
-    "lint": "eslint --plugin markdown --ext js,md .",
+    "lint": "eslint .",
     "test": "mocha --reporter spec --bail --check-leaks test/",
-    "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
+    "test-ci": "nyc --reporter=lcov --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test",
+    "update-bench": "node scripts/update-benchmark.js",
     "version": "node scripts/version-history.js && git add HISTORY.md"
   },
-  "version": "0.4.0"
+  "version": "0.5.0"
 }

+ 2 - 3
express-server/node_modules/debug/package.json

@@ -20,13 +20,12 @@
     "/express",
     "/finalhandler",
     "/get-uri",
-    "/send",
-    "/undefsafe"
+    "/send"
   ],
   "_resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
   "_shasum": "5d128515df134ff327e90a4c93f4e077a536341f",
   "_spec": "debug@2.6.9",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "TJ Holowaychuk",
     "email": "tj@vision-media.ca"

+ 7 - 0
express-server/node_modules/depd/History.md

@@ -1,3 +1,10 @@
+2.0.0 / 2018-10-26
+==================
+
+  * Drop support for Node.js 0.6
+  * Replace internal `eval` usage with `Function` constructor
+  * Use instance methods on `process` to check for listeners
+
 1.1.2 / 2018-01-11
 ==================
 

+ 1 - 1
express-server/node_modules/depd/LICENSE

@@ -1,6 +1,6 @@
 (The MIT License)
 
-Copyright (c) 2014-2017 Douglas Christopher Wilson
+Copyright (c) 2014-2018 Douglas Christopher Wilson
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the

+ 8 - 8
express-server/node_modules/depd/Readme.md

@@ -267,14 +267,14 @@ deprecate.property(exports, 'oldprop', 'oldprop >= 0.10')
 
 [MIT](LICENSE)
 
-[npm-version-image]: https://img.shields.io/npm/v/depd.svg
-[npm-downloads-image]: https://img.shields.io/npm/dm/depd.svg
-[npm-url]: https://npmjs.org/package/depd
-[travis-image]: https://img.shields.io/travis/dougwilson/nodejs-depd/master.svg?label=linux
-[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd
-[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/nodejs-depd/master.svg?label=windows
+[appveyor-image]: https://badgen.net/appveyor/ci/dougwilson/nodejs-depd/master?label=windows
 [appveyor-url]: https://ci.appveyor.com/project/dougwilson/nodejs-depd
-[coveralls-image]: https://img.shields.io/coveralls/dougwilson/nodejs-depd/master.svg
+[coveralls-image]: https://badgen.net/coveralls/c/github/dougwilson/nodejs-depd/master
 [coveralls-url]: https://coveralls.io/r/dougwilson/nodejs-depd?branch=master
-[node-image]: https://img.shields.io/node/v/depd.svg
+[node-image]: https://badgen.net/npm/node/depd
 [node-url]: https://nodejs.org/en/download/
+[npm-downloads-image]: https://badgen.net/npm/dm/depd
+[npm-url]: https://npmjs.org/package/depd
+[npm-version-image]: https://badgen.net/npm/v/depd
+[travis-image]: https://badgen.net/travis/dougwilson/nodejs-depd/master?label=linux
+[travis-url]: https://travis-ci.org/dougwilson/nodejs-depd

+ 29 - 13
express-server/node_modules/depd/index.js

@@ -1,6 +1,6 @@
 /*!
  * depd
- * Copyright(c) 2014-2017 Douglas Christopher Wilson
+ * Copyright(c) 2014-2018 Douglas Christopher Wilson
  * MIT Licensed
  */
 
@@ -8,8 +8,6 @@
  * Module dependencies.
  */
 
-var callSiteToString = require('./lib/compat').callSiteToString
-var eventListenerCount = require('./lib/compat').eventListenerCount
 var relative = require('path').relative
 
 /**
@@ -92,7 +90,7 @@ function createStackString (stack) {
   }
 
   for (var i = 0; i < stack.length; i++) {
-    str += '\n    at ' + callSiteToString(stack[i])
+    str += '\n    at ' + stack[i].toString()
   }
 
   return str
@@ -128,12 +126,31 @@ function depd (namespace) {
   return deprecate
 }
 
+/**
+ * Determine if event emitter has listeners of a given type.
+ *
+ * The way to do this check is done three different ways in Node.js >= 0.8
+ * so this consolidates them into a minimal set using instance methods.
+ *
+ * @param {EventEmitter} emitter
+ * @param {string} type
+ * @returns {boolean}
+ * @private
+ */
+
+function eehaslisteners (emitter, type) {
+  var count = typeof emitter.listenerCount !== 'function'
+    ? emitter.listeners(type).length
+    : emitter.listenerCount(type)
+
+  return count > 0
+}
+
 /**
  * Determine if namespace is ignored.
  */
 
 function isignored (namespace) {
-  /* istanbul ignore next: tested in a child processs */
   if (process.noDeprecation) {
     // --no-deprecation support
     return true
@@ -150,7 +167,6 @@ function isignored (namespace) {
  */
 
 function istraced (namespace) {
-  /* istanbul ignore next: tested in a child processs */
   if (process.traceDeprecation) {
     // --trace-deprecation support
     return true
@@ -167,7 +183,7 @@ function istraced (namespace) {
  */
 
 function log (message, site) {
-  var haslisteners = eventListenerCount(process, 'deprecation') !== 0
+  var haslisteners = eehaslisteners(process, 'deprecation')
 
   // abort early if no destination
   if (!haslisteners && this._ignored) {
@@ -310,7 +326,7 @@ function formatPlain (msg, caller, stack) {
   // add stack trace
   if (this._traced) {
     for (var i = 0; i < stack.length; i++) {
-      formatted += '\n    at ' + callSiteToString(stack[i])
+      formatted += '\n    at ' + stack[i].toString()
     }
 
     return formatted
@@ -335,7 +351,7 @@ function formatColor (msg, caller, stack) {
   // add stack trace
   if (this._traced) {
     for (var i = 0; i < stack.length; i++) {
-      formatted += '\n    \x1b[36mat ' + callSiteToString(stack[i]) + '\x1b[39m' // cyan
+      formatted += '\n    \x1b[36mat ' + stack[i].toString() + '\x1b[39m' // cyan
     }
 
     return formatted
@@ -400,18 +416,18 @@ function wrapfunction (fn, message) {
   }
 
   var args = createArgumentsString(fn.length)
-  var deprecate = this // eslint-disable-line no-unused-vars
   var stack = getStack()
   var site = callSiteLocation(stack[1])
 
   site.name = fn.name
 
-   // eslint-disable-next-line no-eval
-  var deprecatedfn = eval('(function (' + args + ') {\n' +
+  // eslint-disable-next-line no-new-func
+  var deprecatedfn = new Function('fn', 'log', 'deprecate', 'message', 'site',
     '"use strict"\n' +
+    'return function (' + args + ') {' +
     'log.call(deprecate, message, site)\n' +
     'return fn.apply(this, arguments)\n' +
-    '})')
+    '}')(fn, log, this, message, site)
 
   return deprecatedfn
 }

+ 0 - 103
express-server/node_modules/depd/lib/compat/callsite-tostring.js

@@ -1,103 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2014 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- */
-
-module.exports = callSiteToString
-
-/**
- * Format a CallSite file location to a string.
- */
-
-function callSiteFileLocation (callSite) {
-  var fileName
-  var fileLocation = ''
-
-  if (callSite.isNative()) {
-    fileLocation = 'native'
-  } else if (callSite.isEval()) {
-    fileName = callSite.getScriptNameOrSourceURL()
-    if (!fileName) {
-      fileLocation = callSite.getEvalOrigin()
-    }
-  } else {
-    fileName = callSite.getFileName()
-  }
-
-  if (fileName) {
-    fileLocation += fileName
-
-    var lineNumber = callSite.getLineNumber()
-    if (lineNumber != null) {
-      fileLocation += ':' + lineNumber
-
-      var columnNumber = callSite.getColumnNumber()
-      if (columnNumber) {
-        fileLocation += ':' + columnNumber
-      }
-    }
-  }
-
-  return fileLocation || 'unknown source'
-}
-
-/**
- * Format a CallSite to a string.
- */
-
-function callSiteToString (callSite) {
-  var addSuffix = true
-  var fileLocation = callSiteFileLocation(callSite)
-  var functionName = callSite.getFunctionName()
-  var isConstructor = callSite.isConstructor()
-  var isMethodCall = !(callSite.isToplevel() || isConstructor)
-  var line = ''
-
-  if (isMethodCall) {
-    var methodName = callSite.getMethodName()
-    var typeName = getConstructorName(callSite)
-
-    if (functionName) {
-      if (typeName && functionName.indexOf(typeName) !== 0) {
-        line += typeName + '.'
-      }
-
-      line += functionName
-
-      if (methodName && functionName.lastIndexOf('.' + methodName) !== functionName.length - methodName.length - 1) {
-        line += ' [as ' + methodName + ']'
-      }
-    } else {
-      line += typeName + '.' + (methodName || '<anonymous>')
-    }
-  } else if (isConstructor) {
-    line += 'new ' + (functionName || '<anonymous>')
-  } else if (functionName) {
-    line += functionName
-  } else {
-    addSuffix = false
-    line += fileLocation
-  }
-
-  if (addSuffix) {
-    line += ' (' + fileLocation + ')'
-  }
-
-  return line
-}
-
-/**
- * Get constructor name of reviver.
- */
-
-function getConstructorName (obj) {
-  var receiver = obj.receiver
-  return (receiver.constructor && receiver.constructor.name) || null
-}

+ 0 - 22
express-server/node_modules/depd/lib/compat/event-listener-count.js

@@ -1,22 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module exports.
- * @public
- */
-
-module.exports = eventListenerCount
-
-/**
- * Get the count of listeners on an event emitter of a specific type.
- */
-
-function eventListenerCount (emitter, type) {
-  return emitter.listeners(type).length
-}

+ 0 - 79
express-server/node_modules/depd/lib/compat/index.js

@@ -1,79 +0,0 @@
-/*!
- * depd
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
- * MIT Licensed
- */
-
-'use strict'
-
-/**
- * Module dependencies.
- * @private
- */
-
-var EventEmitter = require('events').EventEmitter
-
-/**
- * Module exports.
- * @public
- */
-
-lazyProperty(module.exports, 'callSiteToString', function callSiteToString () {
-  var limit = Error.stackTraceLimit
-  var obj = {}
-  var prep = Error.prepareStackTrace
-
-  function prepareObjectStackTrace (obj, stack) {
-    return stack
-  }
-
-  Error.prepareStackTrace = prepareObjectStackTrace
-  Error.stackTraceLimit = 2
-
-  // capture the stack
-  Error.captureStackTrace(obj)
-
-  // slice the stack
-  var stack = obj.stack.slice()
-
-  Error.prepareStackTrace = prep
-  Error.stackTraceLimit = limit
-
-  return stack[0].toString ? toString : require('./callsite-tostring')
-})
-
-lazyProperty(module.exports, 'eventListenerCount', function eventListenerCount () {
-  return EventEmitter.listenerCount || require('./event-listener-count')
-})
-
-/**
- * Define a lazy property.
- */
-
-function lazyProperty (obj, prop, getter) {
-  function get () {
-    var val = getter()
-
-    Object.defineProperty(obj, prop, {
-      configurable: true,
-      enumerable: true,
-      value: val
-    })
-
-    return val
-  }
-
-  Object.defineProperty(obj, prop, {
-    configurable: true,
-    enumerable: true,
-    get: get
-  })
-}
-
-/**
- * Call toString() on the obj
- */
-
-function toString (obj) {
-  return obj.toString()
-}

+ 24 - 20
express-server/node_modules/depd/package.json

@@ -1,19 +1,19 @@
 {
-  "_from": "depd@~1.1.2",
-  "_id": "depd@1.1.2",
+  "_from": "depd@2.0.0",
+  "_id": "depd@2.0.0",
   "_inBundle": false,
-  "_integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+  "_integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
   "_location": "/depd",
   "_phantomChildren": {},
   "_requested": {
-    "type": "range",
+    "type": "version",
     "registry": true,
-    "raw": "depd@~1.1.2",
+    "raw": "depd@2.0.0",
     "name": "depd",
     "escapedName": "depd",
-    "rawSpec": "~1.1.2",
+    "rawSpec": "2.0.0",
     "saveSpec": null,
-    "fetchSpec": "~1.1.2"
+    "fetchSpec": "2.0.0"
   },
   "_requiredBy": [
     "/body-parser",
@@ -21,10 +21,10 @@
     "/http-errors",
     "/send"
   ],
-  "_resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
-  "_shasum": "9bcd52e14c097763e749b274c4346ed2e560b5a9",
-  "_spec": "depd@~1.1.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+  "_shasum": "b696163cc757560d09cf22cc8fad1571b79e76df",
+  "_spec": "depd@2.0.0",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Douglas Christopher Wilson",
     "email": "doug@somethingdoug.com"
@@ -39,16 +39,20 @@
   "devDependencies": {
     "beautify-benchmark": "0.2.4",
     "benchmark": "2.1.4",
-    "eslint": "3.19.0",
-    "eslint-config-standard": "7.1.0",
+    "eslint": "5.7.0",
+    "eslint-config-standard": "12.0.0",
+    "eslint-plugin-import": "2.14.0",
     "eslint-plugin-markdown": "1.0.0-beta.7",
-    "eslint-plugin-promise": "3.6.0",
-    "eslint-plugin-standard": "3.0.1",
+    "eslint-plugin-node": "7.0.1",
+    "eslint-plugin-promise": "4.0.1",
+    "eslint-plugin-standard": "4.0.0",
     "istanbul": "0.4.5",
-    "mocha": "~1.21.5"
+    "mocha": "5.2.0",
+    "safe-buffer": "5.1.2",
+    "uid-safe": "2.1.5"
   },
   "engines": {
-    "node": ">= 0.6"
+    "node": ">= 0.8"
   },
   "files": [
     "lib/",
@@ -72,8 +76,8 @@
     "bench": "node benchmark/index.js",
     "lint": "eslint --plugin markdown --ext js,md .",
     "test": "mocha --reporter spec --bail test/",
-    "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --no-exit test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot test/"
+    "test-ci": "istanbul cover --print=none node_modules/mocha/bin/_mocha -- --reporter spec test/ && istanbul report lcovonly text-summary",
+    "test-cov": "istanbul cover --print=none node_modules/mocha/bin/_mocha -- --reporter dot test/ && istanbul report lcov text-summary"
   },
-  "version": "1.1.2"
+  "version": "2.0.0"
 }

+ 1 - 0
express-server/node_modules/destroy/LICENSE

@@ -2,6 +2,7 @@
 The MIT License (MIT)
 
 Copyright (c) 2014 Jonathan Ong me@jongleberry.com
+Copyright (c) 2015-2022 Douglas Christopher Wilson doug@somethingdoug.com
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 15 - 12
express-server/node_modules/destroy/README.md

@@ -1,11 +1,10 @@
-# Destroy
+# destroy
 
 [![NPM version][npm-image]][npm-url]
-[![Build status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test coverage][coveralls-image]][coveralls-url]
 [![License][license-image]][license-url]
 [![Downloads][downloads-image]][downloads-url]
-[![Gittip][gittip-image]][gittip-url]
 
 Destroy a stream.
 
@@ -18,17 +17,23 @@ and Node.js bugs.
 var destroy = require('destroy')
 ```
 
-### destroy(stream)
+### destroy(stream [, suppress])
 
-Destroy the given stream. In most cases, this is identical to a simple
-`stream.destroy()` call. The rules are as follows for a given stream:
+Destroy the given stream, and optionally suppress any future `error` events.
+
+In most cases, this is identical to a simple `stream.destroy()` call. The rules
+are as follows for a given stream:
 
   1. If the `stream` is an instance of `ReadStream`, then call `stream.destroy()`
      and add a listener to the `open` event to call `stream.close()` if it is
      fired. This is for a Node.js bug that will leak a file descriptor if
      `.destroy()` is called before `open`.
-  2. If the `stream` is not an instance of `Stream`, then nothing happens.
-  3. If the `stream` has a `.destroy()` method, then call it.
+  2. If the `stream` is an instance of a zlib stream, then call `stream.destroy()`
+     and close the underlying zlib handle if open, otherwise call `stream.close()`.
+     This is for consistency across Node.js versions and a Node.js bug that will
+     leak a native zlib handle.
+  3. If the `stream` is not an instance of `Stream`, then nothing happens.
+  4. If the `stream` has a `.destroy()` method, then call it.
 
 The function returns the `stream` passed in as the argument.
 
@@ -48,13 +53,11 @@ destroy(stream)
 [npm-url]: https://npmjs.org/package/destroy
 [github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square
 [github-url]: https://github.com/stream-utils/destroy/tags
-[travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square
-[travis-url]: https://travis-ci.org/stream-utils/destroy
 [coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square
 [coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master
 [license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square
 [license-url]: LICENSE.md
 [downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square
 [downloads-url]: https://npmjs.org/package/destroy
-[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square
-[gittip-url]: https://www.gittip.com/jonathanong/
+[github-actions-ci-image]: https://img.shields.io/github/workflow/status/stream-utils/destroy/ci/master?label=ci&style=flat-square
+[github-actions-ci-url]: https://github.com/stream-utils/destroy/actions/workflows/ci.yml

+ 147 - 13
express-server/node_modules/destroy/index.js

@@ -1,6 +1,7 @@
 /*!
  * destroy
  * Copyright(c) 2014 Jonathan Ong
+ * Copyright(c) 2015-2022 Douglas Christopher Wilson
  * MIT Licensed
  */
 
@@ -11,8 +12,10 @@
  * @private
  */
 
+var EventEmitter = require('events').EventEmitter
 var ReadStream = require('fs').ReadStream
 var Stream = require('stream')
+var Zlib = require('zlib')
 
 /**
  * Module exports.
@@ -22,23 +25,25 @@ var Stream = require('stream')
 module.exports = destroy
 
 /**
- * Destroy a stream.
+ * Destroy the given stream, and optionally suppress any future `error` events.
  *
  * @param {object} stream
+ * @param {boolean} suppress
  * @public
  */
 
-function destroy(stream) {
-  if (stream instanceof ReadStream) {
-    return destroyReadStream(stream)
-  }
-
-  if (!(stream instanceof Stream)) {
-    return stream
+function destroy (stream, suppress) {
+  if (isFsReadStream(stream)) {
+    destroyReadStream(stream)
+  } else if (isZlibStream(stream)) {
+    destroyZlibStream(stream)
+  } else if (hasDestroy(stream)) {
+    stream.destroy()
   }
 
-  if (typeof stream.destroy === 'function') {
-    stream.destroy()
+  if (isEventEmitter(stream) && suppress) {
+    stream.removeAllListeners('error')
+    stream.addListener('error', noop)
   }
 
   return stream
@@ -51,15 +56,144 @@ function destroy(stream) {
  * @private
  */
 
-function destroyReadStream(stream) {
+function destroyReadStream (stream) {
   stream.destroy()
 
   if (typeof stream.close === 'function') {
     // node.js core bug work-around
     stream.on('open', onOpenClose)
   }
+}
 
-  return stream
+/**
+ * Close a Zlib stream.
+ *
+ * Zlib streams below Node.js 4.5.5 have a buggy implementation
+ * of .close() when zlib encountered an error.
+ *
+ * @param {object} stream
+ * @private
+ */
+
+function closeZlibStream (stream) {
+  if (stream._hadError === true) {
+    var prop = stream._binding === null
+      ? '_binding'
+      : '_handle'
+
+    stream[prop] = {
+      close: function () { this[prop] = null }
+    }
+  }
+
+  stream.close()
+}
+
+/**
+ * Destroy a Zlib stream.
+ *
+ * Zlib streams don't have a destroy function in Node.js 6. On top of that
+ * simply calling destroy on a zlib stream in Node.js 8+ will result in a
+ * memory leak. So until that is fixed, we need to call both close AND destroy.
+ *
+ * PR to fix memory leak: https://github.com/nodejs/node/pull/23734
+ *
+ * In Node.js 6+8, it's important that destroy is called before close as the
+ * stream would otherwise emit the error 'zlib binding closed'.
+ *
+ * @param {object} stream
+ * @private
+ */
+
+function destroyZlibStream (stream) {
+  if (typeof stream.destroy === 'function') {
+    // node.js core bug work-around
+    // istanbul ignore if: node.js 0.8
+    if (stream._binding) {
+      // node.js < 0.10.0
+      stream.destroy()
+      if (stream._processing) {
+        stream._needDrain = true
+        stream.once('drain', onDrainClearBinding)
+      } else {
+        stream._binding.clear()
+      }
+    } else if (stream._destroy && stream._destroy !== Stream.Transform.prototype._destroy) {
+      // node.js >= 12, ^11.1.0, ^10.15.1
+      stream.destroy()
+    } else if (stream._destroy && typeof stream.close === 'function') {
+      // node.js 7, 8
+      stream.destroyed = true
+      stream.close()
+    } else {
+      // fallback
+      // istanbul ignore next
+      stream.destroy()
+    }
+  } else if (typeof stream.close === 'function') {
+    // node.js < 8 fallback
+    closeZlibStream(stream)
+  }
+}
+
+/**
+ * Determine if stream has destroy.
+ * @private
+ */
+
+function hasDestroy (stream) {
+  return stream instanceof Stream &&
+    typeof stream.destroy === 'function'
+}
+
+/**
+ * Determine if val is EventEmitter.
+ * @private
+ */
+
+function isEventEmitter (val) {
+  return val instanceof EventEmitter
+}
+
+/**
+ * Determine if stream is fs.ReadStream stream.
+ * @private
+ */
+
+function isFsReadStream (stream) {
+  return stream instanceof ReadStream
+}
+
+/**
+ * Determine if stream is Zlib stream.
+ * @private
+ */
+
+function isZlibStream (stream) {
+  return stream instanceof Zlib.Gzip ||
+    stream instanceof Zlib.Gunzip ||
+    stream instanceof Zlib.Deflate ||
+    stream instanceof Zlib.DeflateRaw ||
+    stream instanceof Zlib.Inflate ||
+    stream instanceof Zlib.InflateRaw ||
+    stream instanceof Zlib.Unzip
+}
+
+/**
+ * No-op function.
+ * @private
+ */
+
+function noop () {}
+
+/**
+ * On drain handler to clear binding.
+ * @private
+ */
+
+// istanbul ignore next: node.js 0.8
+function onDrainClearBinding () {
+  this._binding.clear()
 }
 
 /**
@@ -67,7 +201,7 @@ function destroyReadStream(stream) {
  * @private
  */
 
-function onOpenClose() {
+function onOpenClose () {
   if (typeof this.fd === 'number') {
     // actually close down the fd
     this.close()

+ 28 - 16
express-server/node_modules/destroy/package.json

@@ -1,27 +1,28 @@
 {
-  "_from": "destroy@~1.0.4",
-  "_id": "destroy@1.0.4",
+  "_from": "destroy@1.2.0",
+  "_id": "destroy@1.2.0",
   "_inBundle": false,
-  "_integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+  "_integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
   "_location": "/destroy",
   "_phantomChildren": {},
   "_requested": {
-    "type": "range",
+    "type": "version",
     "registry": true,
-    "raw": "destroy@~1.0.4",
+    "raw": "destroy@1.2.0",
     "name": "destroy",
     "escapedName": "destroy",
-    "rawSpec": "~1.0.4",
+    "rawSpec": "1.2.0",
     "saveSpec": null,
-    "fetchSpec": "~1.0.4"
+    "fetchSpec": "1.2.0"
   },
   "_requiredBy": [
+    "/body-parser",
     "/send"
   ],
-  "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
-  "_shasum": "978857442c44749e4206613e37946205826abd80",
-  "_spec": "destroy@~1.0.4",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\send",
+  "_resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+  "_shasum": "4803735509ad8be552934c67df614f94e66fa015",
+  "_spec": "destroy@1.2.0",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\body-parser",
   "author": {
     "name": "Jonathan Ong",
     "email": "me@jongleberry.com",
@@ -40,8 +41,18 @@
   "deprecated": false,
   "description": "destroy a stream if possible",
   "devDependencies": {
-    "istanbul": "0.4.2",
-    "mocha": "2.3.4"
+    "eslint": "7.32.0",
+    "eslint-config-standard": "14.1.1",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-standard": "4.1.0",
+    "mocha": "9.2.2",
+    "nyc": "15.1.0"
+  },
+  "engines": {
+    "node": ">= 0.8",
+    "npm": "1.2.8000 || >= 1.4.16"
   },
   "files": [
     "index.js",
@@ -63,9 +74,10 @@
     "url": "git+https://github.com/stream-utils/destroy.git"
   },
   "scripts": {
+    "lint": "eslint .",
     "test": "mocha --reporter spec",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"
+    "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "1.0.4"
+  "version": "1.2.0"
 }

+ 2 - 2
express-server/node_modules/ee-first/package.json

@@ -2,7 +2,7 @@
   "_from": "ee-first@1.1.1",
   "_id": "ee-first@1.1.1",
   "_inBundle": false,
-  "_integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+  "_integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
   "_location": "/ee-first",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
   "_shasum": "590c61156b0ae2f4f0255732a158b266bc56b21d",
   "_spec": "ee-first@1.1.1",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\on-finished",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\on-finished",
   "author": {
     "name": "Jonathan Ong",
     "email": "me@jongleberry.com",

+ 2 - 2
express-server/node_modules/encodeurl/package.json

@@ -2,7 +2,7 @@
   "_from": "encodeurl@~1.0.2",
   "_id": "encodeurl@1.0.2",
   "_inBundle": false,
-  "_integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+  "_integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
   "_location": "/encodeurl",
   "_phantomChildren": {},
   "_requested": {
@@ -24,7 +24,7 @@
   "_resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
   "_shasum": "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59",
   "_spec": "encodeurl@~1.0.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/pillarjs/encodeurl/issues"
   },

+ 2 - 2
express-server/node_modules/escape-html/package.json

@@ -2,7 +2,7 @@
   "_from": "escape-html@~1.0.3",
   "_id": "escape-html@1.0.3",
   "_inBundle": false,
-  "_integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+  "_integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
   "_location": "/escape-html",
   "_phantomChildren": {},
   "_requested": {
@@ -24,7 +24,7 @@
   "_resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
   "_shasum": "0258eae4d3d0c0974de1c169188ef0051d1d1988",
   "_spec": "escape-html@~1.0.3",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/component/escape-html/issues"
   },

+ 2 - 2
express-server/node_modules/etag/package.json

@@ -2,7 +2,7 @@
   "_from": "etag@~1.8.1",
   "_id": "etag@1.8.1",
   "_inBundle": false,
-  "_integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+  "_integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
   "_location": "/etag",
   "_phantomChildren": {},
   "_requested": {
@@ -22,7 +22,7 @@
   "_resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
   "_shasum": "41ae2eeb65efa62268aebfea83ac7d79299b0887",
   "_spec": "etag@~1.8.1",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/jshttp/etag/issues"
   },

+ 102 - 0
express-server/node_modules/express/History.md

@@ -1,3 +1,105 @@
+4.18.1 / 2022-04-29
+===================
+
+  * Fix hanging on large stack of sync routes
+
+4.18.0 / 2022-04-25
+===================
+
+  * Add "root" option to `res.download`
+  * Allow `options` without `filename` in `res.download`
+  * Deprecate string and non-integer arguments to `res.status`
+  * Fix behavior of `null`/`undefined` as `maxAge` in `res.cookie`
+  * Fix handling very large stacks of sync middleware
+  * Ignore `Object.prototype` values in settings through `app.set`/`app.get`
+  * Invoke `default` with same arguments as types in `res.format`
+  * Support proper 205 responses using `res.send`
+  * Use `http-errors` for `res.format` error
+  * deps: body-parser@1.20.0
+    - Fix error message for json parse whitespace in `strict`
+    - Fix internal error when inflated body exceeds limit
+    - Prevent loss of async hooks context
+    - Prevent hanging when request already read
+    - deps: depd@2.0.0
+    - deps: http-errors@2.0.0
+    - deps: on-finished@2.4.1
+    - deps: qs@6.10.3
+    - deps: raw-body@2.5.1
+  * deps: cookie@0.5.0
+    - Add `priority` option
+    - Fix `expires` option to reject invalid dates
+  * deps: depd@2.0.0
+    - Replace internal `eval` usage with `Function` constructor
+    - Use instance methods on `process` to check for listeners
+  * deps: finalhandler@1.2.0
+    - Remove set content headers that break response
+    - deps: on-finished@2.4.1
+    - deps: statuses@2.0.1
+  * deps: on-finished@2.4.1
+    - Prevent loss of async hooks context
+  * deps: qs@6.10.3
+  * deps: send@0.18.0
+    - Fix emitted 416 error missing headers property
+    - Limit the headers removed for 304 response
+    - deps: depd@2.0.0
+    - deps: destroy@1.2.0
+    - deps: http-errors@2.0.0
+    - deps: on-finished@2.4.1
+    - deps: statuses@2.0.1
+  * deps: serve-static@1.15.0
+    - deps: send@0.18.0
+  * deps: statuses@2.0.1
+    - Remove code 306
+    - Rename `425 Unordered Collection` to standard `425 Too Early`
+
+4.17.3 / 2022-02-16
+===================
+
+  * deps: accepts@~1.3.8
+    - deps: mime-types@~2.1.34
+    - deps: negotiator@0.6.3
+  * deps: body-parser@1.19.2
+    - deps: bytes@3.1.2
+    - deps: qs@6.9.7
+    - deps: raw-body@2.4.3
+  * deps: cookie@0.4.2
+  * deps: qs@6.9.7
+    * Fix handling of `__proto__` keys
+  * pref: remove unnecessary regexp for trust proxy
+
+4.17.2 / 2021-12-16
+===================
+
+  * Fix handling of `undefined` in `res.jsonp`
+  * Fix handling of `undefined` when `"json escape"` is enabled
+  * Fix incorrect middleware execution with unanchored `RegExp`s
+  * Fix `res.jsonp(obj, status)` deprecation message
+  * Fix typo in `res.is` JSDoc
+  * deps: body-parser@1.19.1
+    - deps: bytes@3.1.1
+    - deps: http-errors@1.8.1
+    - deps: qs@6.9.6
+    - deps: raw-body@2.4.2
+    - deps: safe-buffer@5.2.1
+    - deps: type-is@~1.6.18
+  * deps: content-disposition@0.5.4
+    - deps: safe-buffer@5.2.1
+  * deps: cookie@0.4.1
+    - Fix `maxAge` option to reject invalid values
+  * deps: proxy-addr@~2.0.7
+    - Use `req.socket` over deprecated `req.connection`
+    - deps: forwarded@0.2.0
+    - deps: ipaddr.js@1.9.1
+  * deps: qs@6.9.6
+  * deps: safe-buffer@5.2.1
+  * deps: send@0.17.2
+    - deps: http-errors@1.8.1
+    - deps: ms@2.1.3
+    - pref: ignore empty http tokens
+  * deps: serve-static@1.14.2
+    - deps: send@0.17.2
+  * deps: setprototypeof@1.2.0
+
 4.17.1 / 2019-05-25
 ===================
 

+ 43 - 32
express-server/node_modules/express/Readme.md

@@ -2,11 +2,9 @@
 
   Fast, unopinionated, minimalist web framework for [node](http://nodejs.org).
 
-  [![NPM Version][npm-image]][npm-url]
-  [![NPM Downloads][downloads-image]][downloads-url]
-  [![Linux Build][travis-image]][travis-url]
-  [![Windows Build][appveyor-image]][appveyor-url]
-  [![Test Coverage][coveralls-image]][coveralls-url]
+  [![NPM Version][npm-version-image]][npm-url]
+  [![NPM Install Size][npm-install-size-image]][npm-install-size-url]
+  [![NPM Downloads][npm-downloads-image]][npm-downloads-url]
 
 ```js
 const express = require('express')
@@ -27,10 +25,13 @@ This is a [Node.js](https://nodejs.org/en/) module available through the
 Before installing, [download and install Node.js](https://nodejs.org/en/download/).
 Node.js 0.10 or higher is required.
 
+If this is a brand new project, make sure to create a `package.json` first with
+the [`npm init` command](https://docs.npmjs.com/creating-a-package-json-file).
+
 Installation is done using the
 [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
 
-```bash
+```console
 $ npm install express
 ```
 
@@ -58,35 +59,31 @@ for more information.
 
 **PROTIP** Be sure to read [Migrating from 3.x to 4.x](https://github.com/expressjs/express/wiki/Migrating-from-3.x-to-4.x) as well as [New features in 4.x](https://github.com/expressjs/express/wiki/New-features-in-4.x).
 
-### Security Issues
-
-If you discover a security vulnerability in Express, please see [Security Policies and Procedures](Security.md).
-
 ## Quick Start
 
   The quickest way to get started with express is to utilize the executable [`express(1)`](https://github.com/expressjs/generator) to generate an application as shown below:
 
   Install the executable. The executable's major version will match Express's:
 
-```bash
+```console
 $ npm install -g express-generator@4
 ```
 
   Create the app:
 
-```bash
+```console
 $ express /tmp/foo && cd /tmp/foo
 ```
 
   Install dependencies:
 
-```bash
+```console
 $ npm install
 ```
 
   Start the server:
 
-```bash
+```console
 $ npm start
 ```
 
@@ -95,7 +92,7 @@ $ npm start
 ## Philosophy
 
   The Express philosophy is to provide small, robust tooling for HTTP servers, making
-  it a great solution for single page applications, web sites, hybrids, or public
+  it a great solution for single page applications, websites, hybrids, or public
   HTTP APIs.
 
   Express does not force you to use any specific ORM or template engine. With support for over
@@ -106,7 +103,7 @@ $ npm start
 
   To view the examples, clone the Express repo and install the dependencies:
 
-```bash
+```console
 $ git clone git://github.com/expressjs/express.git --depth 1
 $ cd express
 $ npm install
@@ -114,23 +111,35 @@ $ npm install
 
   Then run whichever example you want:
 
-```bash
+```console
 $ node examples/content-negotiation
 ```
 
-## Tests
+## Contributing
+
+  [![Linux Build][github-actions-ci-image]][github-actions-ci-url]
+  [![Windows Build][appveyor-image]][appveyor-url]
+  [![Test Coverage][coveralls-image]][coveralls-url]
+
+The Express.js project welcomes all constructive contributions. Contributions take many forms,
+from code for bug fixes and enhancements, to additions and fixes to documentation, additional
+tests, triaging incoming pull requests and issues, and more!
 
-  To run the test suite, first install the dependencies, then run `npm test`:
+See the [Contributing Guide](Contributing.md) for more technical details on contributing.
 
-```bash
+### Security Issues
+
+If you discover a security vulnerability in Express, please see [Security Policies and Procedures](Security.md).
+
+### Running Tests
+
+To run the test suite, first install the dependencies, then run `npm test`:
+
+```console
 $ npm install
 $ npm test
 ```
 
-## Contributing
-
-[Contributing Guide](Contributing.md)
-
 ## People
 
 The original author of Express is [TJ Holowaychuk](https://github.com/tj)
@@ -143,13 +152,15 @@ The current lead maintainer is [Douglas Christopher Wilson](https://github.com/d
 
   [MIT](LICENSE)
 
-[npm-image]: https://img.shields.io/npm/v/express.svg
-[npm-url]: https://npmjs.org/package/express
-[downloads-image]: https://img.shields.io/npm/dm/express.svg
-[downloads-url]: https://npmjs.org/package/express
-[travis-image]: https://img.shields.io/travis/expressjs/express/master.svg?label=linux
-[travis-url]: https://travis-ci.org/expressjs/express
-[appveyor-image]: https://img.shields.io/appveyor/ci/dougwilson/express/master.svg?label=windows
+[appveyor-image]: https://badgen.net/appveyor/ci/dougwilson/express/master?label=windows
 [appveyor-url]: https://ci.appveyor.com/project/dougwilson/express
-[coveralls-image]: https://img.shields.io/coveralls/expressjs/express/master.svg
+[coveralls-image]: https://badgen.net/coveralls/c/github/expressjs/express/master
 [coveralls-url]: https://coveralls.io/r/expressjs/express?branch=master
+[github-actions-ci-image]: https://badgen.net/github/checks/expressjs/express/master?label=linux
+[github-actions-ci-url]: https://github.com/expressjs/express/actions/workflows/ci.yml
+[npm-downloads-image]: https://badgen.net/npm/dm/express
+[npm-downloads-url]: https://npmcharts.com/compare/express?minimal=true
+[npm-install-size-image]: https://badgen.net/packagephobia/install/express
+[npm-install-size-url]: https://packagephobia.com/result?p=express
+[npm-url]: https://npmjs.org/package/express
+[npm-version-image]: https://badgen.net/npm/v/express

+ 19 - 2
express-server/node_modules/express/lib/application.js

@@ -29,6 +29,13 @@ var flatten = require('array-flatten');
 var merge = require('utils-merge');
 var resolve = require('path').resolve;
 var setPrototypeOf = require('setprototypeof')
+
+/**
+ * Module variables.
+ * @private
+ */
+
+var hasOwnProperty = Object.prototype.hasOwnProperty
 var slice = Array.prototype.slice;
 
 /**
@@ -276,7 +283,7 @@ app.route = function route(path) {
  * In this case EJS provides a `.renderFile()` method with
  * the same signature that Express expects: `(path, options, callback)`,
  * though note that it aliases this method as `ejs.__express` internally
- * so if you're using ".ejs" extensions you dont need to do anything.
+ * so if you're using ".ejs" extensions you don't need to do anything.
  *
  * Some template engines do not follow this convention, the
  * [Consolidate.js](https://github.com/tj/consolidate.js)
@@ -352,7 +359,17 @@ app.param = function param(name, fn) {
 app.set = function set(setting, val) {
   if (arguments.length === 1) {
     // app.get(setting)
-    return this.settings[setting];
+    var settings = this.settings
+
+    while (settings && settings !== Object.prototype) {
+      if (hasOwnProperty.call(settings, setting)) {
+        return settings[setting]
+      }
+
+      settings = Object.getPrototypeOf(settings)
+    }
+
+    return undefined
   }
 
   debug('set "%s" to %o', setting, val);

+ 1 - 1
express-server/node_modules/express/lib/request.js

@@ -251,7 +251,7 @@ req.param = function param(name, defaultValue) {
 
 /**
  * Check if the incoming request contains the "Content-Type"
- * header field, and it contains the give mime `type`.
+ * header field, and it contains the given mime `type`.
  *
  * Examples:
  *

+ 57 - 30
express-server/node_modules/express/lib/response.js

@@ -14,6 +14,7 @@
 
 var Buffer = require('safe-buffer').Buffer
 var contentDisposition = require('content-disposition');
+var createError = require('http-errors')
 var deprecate = require('depd')('express');
 var encodeUrl = require('encodeurl');
 var escapeHtml = require('escape-html');
@@ -64,6 +65,9 @@ var charsetRegExp = /;\s*charset\s*=/;
  */
 
 res.status = function status(code) {
+  if ((typeof code === 'string' || Math.floor(code) !== code) && code > 99 && code < 1000) {
+    deprecate('res.status(' + JSON.stringify(code) + '): use res.status(' + Math.floor(code) + ') instead')
+  }
   this.statusCode = code;
   return this;
 };
@@ -135,7 +139,7 @@ res.send = function send(body) {
 
     deprecate('res.send(status): Use res.sendStatus(status) instead');
     this.statusCode = chunk;
-    chunk = statuses[chunk]
+    chunk = statuses.message[chunk]
   }
 
   switch (typeof chunk) {
@@ -213,6 +217,13 @@ res.send = function send(body) {
     chunk = '';
   }
 
+  // alter headers for 205
+  if (this.statusCode === 205) {
+    this.set('Content-Length', '0')
+    this.removeHeader('Transfer-Encoding')
+    chunk = ''
+  }
+
   if (req.method === 'HEAD') {
     // skip body for HEAD
     this.end();
@@ -284,9 +295,9 @@ res.jsonp = function jsonp(obj) {
 
   // allow status / body
   if (arguments.length === 2) {
-    // res.json(body, status) backwards compat
+    // res.jsonp(body, status) backwards compat
     if (typeof arguments[1] === 'number') {
-      deprecate('res.jsonp(obj, status): Use res.status(status).json(obj) instead');
+      deprecate('res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead');
       this.statusCode = arguments[1];
     } else {
       deprecate('res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead');
@@ -322,10 +333,15 @@ res.jsonp = function jsonp(obj) {
     // restrict callback charset
     callback = callback.replace(/[^\[\]\w$.]/g, '');
 
-    // replace chars not allowed in JavaScript that are in JSON
-    body = body
-      .replace(/\u2028/g, '\\u2028')
-      .replace(/\u2029/g, '\\u2029');
+    if (body === undefined) {
+      // empty argument
+      body = ''
+    } else if (typeof body === 'string') {
+      // replace chars not allowed in JavaScript that are in JSON
+      body = body
+        .replace(/\u2028/g, '\\u2028')
+        .replace(/\u2029/g, '\\u2029')
+    }
 
     // the /**/ is a specific security mitigation for "Rosetta Flash JSONP abuse"
     // the typeof check is just to reduce client error noise
@@ -351,7 +367,7 @@ res.jsonp = function jsonp(obj) {
  */
 
 res.sendStatus = function sendStatus(statusCode) {
-  var body = statuses[statusCode] || String(statusCode)
+  var body = statuses.message[statusCode] || String(statusCode)
 
   this.statusCode = statusCode;
   this.type('txt');
@@ -364,7 +380,7 @@ res.sendStatus = function sendStatus(statusCode) {
  *
  * Automatically sets the _Content-Type_ response header field.
  * The callback `callback(err)` is invoked when the transfer is complete
- * or when an error occurs. Be sure to check `res.sentHeader`
+ * or when an error occurs. Be sure to check `res.headersSent`
  * if you wish to attempt responding, as the header and some data
  * may have already been transferred.
  *
@@ -446,7 +462,7 @@ res.sendFile = function sendFile(path, options, callback) {
  *
  * Automatically sets the _Content-Type_ response header field.
  * The callback `callback(err)` is invoked when the transfer is complete
- * or when an error occurs. Be sure to check `res.sentHeader`
+ * or when an error occurs. Be sure to check `res.headersSent`
  * if you wish to attempt responding, as the header and some data
  * may have already been transferred.
  *
@@ -519,7 +535,7 @@ res.sendfile = deprecate.function(res.sendfile,
  * Optionally providing an alternate attachment `filename`,
  * and optional callback `callback(err)`. The callback is invoked
  * when the data transfer is complete, or when an error has
- * ocurred. Be sure to check `res.headersSent` if you plan to respond.
+ * occurred. Be sure to check `res.headersSent` if you plan to respond.
  *
  * Optionally providing an `options` object to use with `res.sendFile()`.
  * This function will set the `Content-Disposition` header, overriding
@@ -546,6 +562,13 @@ res.download = function download (path, filename, options, callback) {
     opts = null
   }
 
+  // support optional filename, where options may be in it's place
+  if (typeof filename === 'object' &&
+    (typeof options === 'function' || options === undefined)) {
+    name = null
+    opts = filename
+  }
+
   // set Content-Disposition when file is sent
   var headers = {
     'Content-Disposition': contentDisposition(name || path)
@@ -567,7 +590,9 @@ res.download = function download (path, filename, options, callback) {
   opts.headers = headers
 
   // Resolve the full path for sendFile
-  var fullPath = resolve(path);
+  var fullPath = !opts.root
+    ? resolve(path)
+    : path
 
   // send file
   return this.sendFile(fullPath, opts, done)
@@ -623,7 +648,7 @@ res.type = function contentType(type) {
  *        res.send('<p>hey</p>');
  *      },
  *
- *      'appliation/json': function(){
+ *      'application/json': function () {
  *        res.send({ message: 'hey' });
  *      }
  *    });
@@ -660,9 +685,8 @@ res.format = function(obj){
   var req = this.req;
   var next = req.next;
 
-  var fn = obj.default;
-  if (fn) delete obj.default;
-  var keys = Object.keys(obj);
+  var keys = Object.keys(obj)
+    .filter(function (v) { return v !== 'default' })
 
   var key = keys.length > 0
     ? req.accepts(keys)
@@ -673,13 +697,12 @@ res.format = function(obj){
   if (key) {
     this.set('Content-Type', normalizeType(key).value);
     obj[key](req, this, next);
-  } else if (fn) {
-    fn();
+  } else if (obj.default) {
+    obj.default(req, this, next)
   } else {
-    var err = new Error('Not Acceptable');
-    err.status = err.statusCode = 406;
-    err.types = normalizeTypes(keys).map(function(o){ return o.value });
-    next(err);
+    next(createError(406, {
+      types: normalizeTypes(keys).map(function (o) { return o.value })
+    }))
   }
 
   return this;
@@ -726,7 +749,7 @@ res.append = function append(field, val) {
     // concat the new and prev vals
     value = Array.isArray(prev) ? prev.concat(val)
       : Array.isArray(val) ? [prev].concat(val)
-      : [prev, val];
+        : [prev, val]
   }
 
   return this.set(field, value);
@@ -845,9 +868,13 @@ res.cookie = function (name, value, options) {
     val = 's:' + sign(val, secret);
   }
 
-  if ('maxAge' in opts) {
-    opts.expires = new Date(Date.now() + opts.maxAge);
-    opts.maxAge /= 1000;
+  if (opts.maxAge != null) {
+    var maxAge = opts.maxAge - 0
+
+    if (!isNaN(maxAge)) {
+      opts.expires = new Date(Date.now() + maxAge)
+      opts.maxAge = Math.floor(maxAge / 1000)
+    }
   }
 
   if (opts.path == null) {
@@ -928,12 +955,12 @@ res.redirect = function redirect(url) {
   // Support text/{plain,html} by default
   this.format({
     text: function(){
-      body = statuses[status] + '. Redirecting to ' + address
+      body = statuses.message[status] + '. Redirecting to ' + address
     },
 
     html: function(){
       var u = escapeHtml(address);
-      body = '<p>' + statuses[status] + '. Redirecting to <a href="' + u + '">' + u + '</a></p>'
+      body = '<p>' + statuses.message[status] + '. Redirecting to <a href="' + u + '">' + u + '</a></p>'
     },
 
     default: function(){
@@ -1108,7 +1135,7 @@ function sendfile(res, file, options, callback) {
  * ability to escape characters that can trigger HTML sniffing.
  *
  * @param {*} value
- * @param {function} replaces
+ * @param {function} replacer
  * @param {number} spaces
  * @param {boolean} escape
  * @returns {string}
@@ -1122,7 +1149,7 @@ function stringify (value, replacer, spaces, escape) {
     ? JSON.stringify(value, replacer, spaces)
     : JSON.stringify(value);
 
-  if (escape) {
+  if (escape && typeof json === 'string') {
     json = json.replace(/[<>&]/g, function (c) {
       switch (c.charCodeAt(0)) {
         case 0x3c:

+ 25 - 14
express-server/node_modules/express/lib/router/index.js

@@ -108,8 +108,8 @@ proto.param = function param(name, fn) {
   var ret;
 
   if (name[0] === ':') {
-    deprecate('router.param(' + JSON.stringify(name) + ', fn): Use router.param(' + JSON.stringify(name.substr(1)) + ', fn) instead');
-    name = name.substr(1);
+    deprecate('router.param(' + JSON.stringify(name) + ', fn): Use router.param(' + JSON.stringify(name.slice(1)) + ', fn) instead')
+    name = name.slice(1)
   }
 
   for (var i = 0; i < len; ++i) {
@@ -142,6 +142,7 @@ proto.handle = function handle(req, res, out) {
   var protohost = getProtohost(req.url) || ''
   var removed = '';
   var slashAdded = false;
+  var sync = 0
   var paramcalled = {};
 
   // store options for OPTIONS request
@@ -180,14 +181,14 @@ proto.handle = function handle(req, res, out) {
 
     // remove added slash
     if (slashAdded) {
-      req.url = req.url.substr(1);
+      req.url = req.url.slice(1)
       slashAdded = false;
     }
 
     // restore altered req.url
     if (removed.length !== 0) {
       req.baseUrl = parentUrl;
-      req.url = protohost + removed + req.url.substr(protohost.length);
+      req.url = protohost + removed + req.url.slice(protohost.length)
       removed = '';
     }
 
@@ -203,6 +204,11 @@ proto.handle = function handle(req, res, out) {
       return;
     }
 
+    // max sync stack
+    if (++sync > 100) {
+      return setImmediate(next, err)
+    }
+
     // get pathname of request
     var path = getPathname(req);
 
@@ -251,7 +257,6 @@ proto.handle = function handle(req, res, out) {
       // don't even bother matching route
       if (!has_method && method !== 'HEAD') {
         match = false;
-        continue;
       }
     }
 
@@ -274,19 +279,25 @@ proto.handle = function handle(req, res, out) {
     // this should be done for the layer
     self.process_params(layer, paramcalled, req, res, function (err) {
       if (err) {
-        return next(layerError || err);
+        next(layerError || err)
+      } else if (route) {
+        layer.handle_request(req, res, next)
+      } else {
+        trim_prefix(layer, layerError, layerPath, path)
       }
 
-      if (route) {
-        return layer.handle_request(req, res, next);
-      }
-
-      trim_prefix(layer, layerError, layerPath, path);
+      sync = 0
     });
   }
 
   function trim_prefix(layer, layerError, layerPath, path) {
     if (layerPath.length !== 0) {
+      // Validate path is a prefix match
+      if (layerPath !== path.slice(0, layerPath.length)) {
+        next(layerError)
+        return
+      }
+
       // Validate path breaks on a path separator
       var c = path[layerPath.length]
       if (c && c !== '/' && c !== '.') return next(layerError)
@@ -295,7 +306,7 @@ proto.handle = function handle(req, res, out) {
       // middleware (.use stuff) needs to have the path stripped
       debug('trim prefix (%s) from url %s', layerPath, req.url);
       removed = layerPath;
-      req.url = protohost + req.url.substr(protohost.length + removed.length);
+      req.url = protohost + req.url.slice(protohost.length + removed.length)
 
       // Ensure leading slash
       if (!protohost && req.url[0] !== '/') {
@@ -541,10 +552,10 @@ function getProtohost(url) {
   var pathLength = searchIndex !== -1
     ? searchIndex
     : url.length
-  var fqdnIndex = url.substr(0, pathLength).indexOf('://')
+  var fqdnIndex = url.slice(0, pathLength).indexOf('://')
 
   return fqdnIndex !== -1
-    ? url.substr(0, url.indexOf('/', 3 + fqdnIndex))
+    ? url.substring(0, url.indexOf('/', 3 + fqdnIndex))
     : undefined
 }
 

+ 9 - 0
express-server/node_modules/express/lib/router/route.js

@@ -98,6 +98,8 @@ Route.prototype._options = function _options() {
 Route.prototype.dispatch = function dispatch(req, res, done) {
   var idx = 0;
   var stack = this.stack;
+  var sync = 0
+
   if (stack.length === 0) {
     return done();
   }
@@ -127,6 +129,11 @@ Route.prototype.dispatch = function dispatch(req, res, done) {
       return done(err);
     }
 
+    // max sync stack
+    if (++sync > 100) {
+      return setImmediate(next, err)
+    }
+
     if (layer.method && layer.method !== method) {
       return next(err);
     }
@@ -136,6 +143,8 @@ Route.prototype.dispatch = function dispatch(req, res, done) {
     } else {
       layer.handle_request(req, res, next);
     }
+
+    sync = 0
   }
 };
 

+ 5 - 7
express-server/node_modules/express/lib/utils.js

@@ -120,6 +120,7 @@ exports.contentDisposition = deprecate.function(contentDisposition,
  * also includes `.originalIndex` for stable sorting
  *
  * @param {String} str
+ * @param {Number} index
  * @return {Object}
  * @api private
  */
@@ -157,6 +158,7 @@ exports.compileETag = function(val) {
 
   switch (val) {
     case true:
+    case 'weak':
       fn = exports.wetag;
       break;
     case false:
@@ -164,9 +166,6 @@ exports.compileETag = function(val) {
     case 'strong':
       fn = exports.etag;
       break;
-    case 'weak':
-      fn = exports.wetag;
-      break;
     default:
       throw new TypeError('unknown value for etag function: ' + val);
   }
@@ -191,6 +190,7 @@ exports.compileQueryParser = function compileQueryParser(val) {
 
   switch (val) {
     case true:
+    case 'simple':
       fn = querystring.parse;
       break;
     case false:
@@ -199,9 +199,6 @@ exports.compileQueryParser = function compileQueryParser(val) {
     case 'extended':
       fn = parseExtendedQueryString;
       break;
-    case 'simple':
-      fn = querystring.parse;
-      break;
     default:
       throw new TypeError('unknown value for query parser function: ' + val);
   }
@@ -232,7 +229,8 @@ exports.compileTrust = function(val) {
 
   if (typeof val === 'string') {
     // Support comma-separated values
-    val = val.split(/ *, */);
+    val = val.split(',')
+      .map(function (v) { return v.trim() })
   }
 
   return proxyaddr.compile(val || []);

+ 1 - 1
express-server/node_modules/express/lib/view.js

@@ -74,7 +74,7 @@ function View(name, options) {
 
   if (!opts.engines[this.ext]) {
     // load engine
-    var mod = this.ext.substr(1)
+    var mod = this.ext.slice(1)
     debug('require "%s"', mod)
 
     // default engine export

+ 37 - 36
express-server/node_modules/express/package.json

@@ -1,8 +1,8 @@
 {
   "_from": "express@^4.17.1",
-  "_id": "express@4.17.1",
+  "_id": "express@4.18.1",
   "_inBundle": false,
-  "_integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+  "_integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==",
   "_location": "/express",
   "_phantomChildren": {},
   "_requested": {
@@ -19,10 +19,10 @@
     "/",
     "/api-express-exporter"
   ],
-  "_resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
-  "_shasum": "4491fc38605cf51f8629d39c2b5d026f98a4c134",
+  "_resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz",
+  "_shasum": "7797de8b9c72c857b9cd0e14a5eea80666267caf",
   "_spec": "express@^4.17.1",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server",
+  "_where": "C:\\FatboarProject\\express-server",
   "author": {
     "name": "TJ Holowaychuk",
     "email": "tj@vision-media.ca"
@@ -62,33 +62,34 @@
     }
   ],
   "dependencies": {
-    "accepts": "~1.3.7",
+    "accepts": "~1.3.8",
     "array-flatten": "1.1.1",
-    "body-parser": "1.19.0",
-    "content-disposition": "0.5.3",
+    "body-parser": "1.20.0",
+    "content-disposition": "0.5.4",
     "content-type": "~1.0.4",
-    "cookie": "0.4.0",
+    "cookie": "0.5.0",
     "cookie-signature": "1.0.6",
     "debug": "2.6.9",
-    "depd": "~1.1.2",
+    "depd": "2.0.0",
     "encodeurl": "~1.0.2",
     "escape-html": "~1.0.3",
     "etag": "~1.8.1",
-    "finalhandler": "~1.1.2",
+    "finalhandler": "1.2.0",
     "fresh": "0.5.2",
+    "http-errors": "2.0.0",
     "merge-descriptors": "1.0.1",
     "methods": "~1.1.2",
-    "on-finished": "~2.3.0",
+    "on-finished": "2.4.1",
     "parseurl": "~1.3.3",
     "path-to-regexp": "0.1.7",
-    "proxy-addr": "~2.0.5",
-    "qs": "6.7.0",
+    "proxy-addr": "~2.0.7",
+    "qs": "6.10.3",
     "range-parser": "~1.2.1",
-    "safe-buffer": "5.1.2",
-    "send": "0.17.1",
-    "serve-static": "1.14.1",
-    "setprototypeof": "1.1.1",
-    "statuses": "~1.5.0",
+    "safe-buffer": "5.2.1",
+    "send": "0.18.0",
+    "serve-static": "1.15.0",
+    "setprototypeof": "1.2.0",
+    "statuses": "2.0.1",
     "type-is": "~1.6.18",
     "utils-merge": "1.0.1",
     "vary": "~1.1.2"
@@ -97,22 +98,21 @@
   "description": "Fast, unopinionated, minimalist web framework",
   "devDependencies": {
     "after": "0.8.2",
-    "connect-redis": "3.4.1",
-    "cookie-parser": "~1.4.4",
-    "cookie-session": "1.3.3",
-    "ejs": "2.6.1",
-    "eslint": "2.13.1",
-    "express-session": "1.16.1",
-    "hbs": "4.0.4",
-    "istanbul": "0.4.5",
-    "marked": "0.6.2",
+    "connect-redis": "3.4.2",
+    "cookie-parser": "1.4.6",
+    "cookie-session": "2.0.0",
+    "ejs": "3.1.7",
+    "eslint": "7.32.0",
+    "express-session": "1.17.2",
+    "hbs": "4.2.0",
+    "marked": "0.7.0",
     "method-override": "3.0.0",
-    "mocha": "5.2.0",
-    "morgan": "1.9.1",
-    "multiparty": "4.2.1",
+    "mocha": "9.2.2",
+    "morgan": "1.10.0",
+    "multiparty": "4.2.3",
+    "nyc": "15.1.0",
     "pbkdf2-password": "1.2.1",
-    "should": "13.2.3",
-    "supertest": "3.3.0",
+    "supertest": "6.2.3",
     "vhost": "~3.0.2"
   },
   "engines": {
@@ -131,6 +131,7 @@
     "framework",
     "sinatra",
     "web",
+    "http",
     "rest",
     "restful",
     "router",
@@ -146,9 +147,9 @@
   "scripts": {
     "lint": "eslint .",
     "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/",
-    "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/",
+    "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test",
     "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"
   },
-  "version": "4.17.1"
+  "version": "4.18.1"
 }

+ 8 - 0
express-server/node_modules/finalhandler/HISTORY.md

@@ -1,3 +1,11 @@
+1.2.0 / 2022-03-22
+==================
+
+  * Remove set content headers that break response
+  * deps: on-finished@2.4.1
+  * deps: statuses@2.0.1
+    - Rename `425 Unordered Collection` to standard `425 Too Early`
+
 1.1.2 / 2019-05-09
 ==================
 

+ 1 - 1
express-server/node_modules/finalhandler/LICENSE

@@ -1,6 +1,6 @@
 (The MIT License)
 
-Copyright (c) 2014-2017 Douglas Christopher Wilson <doug@somethingdoug.com>
+Copyright (c) 2014-2022 Douglas Christopher Wilson <doug@somethingdoug.com>
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the

+ 5 - 6
express-server/node_modules/finalhandler/README.md

@@ -3,7 +3,7 @@
 [![NPM Version][npm-image]][npm-url]
 [![NPM Downloads][downloads-image]][downloads-url]
 [![Node.js Version][node-image]][node-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Node.js function to invoke as the final step to respond to HTTP request.
@@ -20,8 +20,6 @@ $ npm install finalhandler
 
 ## API
 
-<!-- eslint-disable no-unused-vars -->
-
 ```js
 var finalhandler = require('finalhandler')
 ```
@@ -31,7 +29,8 @@ var finalhandler = require('finalhandler')
 Returns function to be invoked as the final step for the given `req` and `res`.
 This function is to be invoked as `fn(err)`. If `err` is falsy, the handler will
 write out a 404 response to the `res`. If it is truthy, an error response will
-be written out to the `res`.
+be written out to the `res` or `res` will be terminated if a response has already
+started.
 
 When an error is written, the following information is added to the response:
 
@@ -140,9 +139,9 @@ function logerror (err) {
 [npm-url]: https://npmjs.org/package/finalhandler
 [node-image]: https://img.shields.io/node/v/finalhandler.svg
 [node-url]: https://nodejs.org/en/download
-[travis-image]: https://img.shields.io/travis/pillarjs/finalhandler.svg
-[travis-url]: https://travis-ci.org/pillarjs/finalhandler
 [coveralls-image]: https://img.shields.io/coveralls/pillarjs/finalhandler.svg
 [coveralls-url]: https://coveralls.io/r/pillarjs/finalhandler?branch=master
 [downloads-image]: https://img.shields.io/npm/dm/finalhandler.svg
 [downloads-url]: https://npmjs.org/package/finalhandler
+[github-actions-ci-image]: https://img.shields.io/github/workflow/status/pillarjs/finalhandler/ci/master?label=ci
+[github-actions-ci-url]: https://github.com/jshttp/pillarjs/finalhandler?query=workflow%3Aci

+ 8 - 3
express-server/node_modules/finalhandler/index.js

@@ -1,6 +1,6 @@
 /*!
  * finalhandler
- * Copyright(c) 2014-2017 Douglas Christopher Wilson
+ * Copyright(c) 2014-2022 Douglas Christopher Wilson
  * MIT Licensed
  */
 
@@ -181,7 +181,7 @@ function getErrorMessage (err, status, env) {
     }
   }
 
-  return msg || statuses[status]
+  return msg || statuses.message[status]
 }
 
 /**
@@ -276,7 +276,12 @@ function send (req, res, status, headers, message) {
 
     // response status
     res.statusCode = status
-    res.statusMessage = statuses[status]
+    res.statusMessage = statuses.message[status]
+
+    // remove any content headers
+    res.removeHeader('Content-Encoding')
+    res.removeHeader('Content-Language')
+    res.removeHeader('Content-Range')
 
     // response headers
     setHeaders(res, headers)

+ 29 - 28
express-server/node_modules/finalhandler/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "finalhandler@~1.1.2",
-  "_id": "finalhandler@1.1.2",
+  "_from": "finalhandler@1.2.0",
+  "_id": "finalhandler@1.2.0",
   "_inBundle": false,
-  "_integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+  "_integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
   "_location": "/finalhandler",
   "_phantomChildren": {},
   "_requested": {
-    "type": "range",
+    "type": "version",
     "registry": true,
-    "raw": "finalhandler@~1.1.2",
+    "raw": "finalhandler@1.2.0",
     "name": "finalhandler",
     "escapedName": "finalhandler",
-    "rawSpec": "~1.1.2",
+    "rawSpec": "1.2.0",
     "saveSpec": null,
-    "fetchSpec": "~1.1.2"
+    "fetchSpec": "1.2.0"
   },
   "_requiredBy": [
     "/express"
   ],
-  "_resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
-  "_shasum": "b7e7d000ffd11938d0fdb053506f6ebabe9f587d",
-  "_spec": "finalhandler@~1.1.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
+  "_shasum": "7d23fe5731b207b4640e4fcd00aec1f9207a7b32",
+  "_spec": "finalhandler@1.2.0",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Douglas Christopher Wilson",
     "email": "doug@somethingdoug.com"
@@ -34,26 +34,26 @@
     "debug": "2.6.9",
     "encodeurl": "~1.0.2",
     "escape-html": "~1.0.3",
-    "on-finished": "~2.3.0",
+    "on-finished": "2.4.1",
     "parseurl": "~1.3.3",
-    "statuses": "~1.5.0",
+    "statuses": "2.0.1",
     "unpipe": "~1.0.0"
   },
   "deprecated": false,
   "description": "Node.js final http responder",
   "devDependencies": {
-    "eslint": "5.16.0",
-    "eslint-config-standard": "12.0.0",
-    "eslint-plugin-import": "2.17.2",
-    "eslint-plugin-markdown": "1.0.0",
-    "eslint-plugin-node": "8.0.1",
-    "eslint-plugin-promise": "4.1.1",
-    "eslint-plugin-standard": "4.0.0",
-    "istanbul": "0.4.5",
-    "mocha": "6.1.4",
+    "eslint": "7.32.0",
+    "eslint-config-standard": "14.1.1",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-markdown": "2.2.1",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-standard": "4.1.0",
+    "mocha": "9.2.2",
+    "nyc": "15.1.0",
     "readable-stream": "2.3.6",
-    "safe-buffer": "5.1.2",
-    "supertest": "4.0.2"
+    "safe-buffer": "5.2.1",
+    "supertest": "6.2.2"
   },
   "engines": {
     "node": ">= 0.8"
@@ -61,6 +61,7 @@
   "files": [
     "LICENSE",
     "HISTORY.md",
+    "SECURITY.md",
     "index.js"
   ],
   "homepage": "https://github.com/pillarjs/finalhandler#readme",
@@ -71,10 +72,10 @@
     "url": "git+https://github.com/pillarjs/finalhandler.git"
   },
   "scripts": {
-    "lint": "eslint --plugin markdown --ext js,md .",
+    "lint": "eslint .",
     "test": "mocha --reporter spec --bail --check-leaks test/",
-    "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
+    "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "1.1.2"
+  "version": "1.2.0"
 }

+ 1 - 1
express-server/node_modules/forwarded/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
   "_shasum": "2269936428aad4c15c7ebe9779a84bf0b2a81811",
   "_spec": "forwarded@0.2.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\proxy-addr",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\proxy-addr",
   "bugs": {
     "url": "https://github.com/jshttp/forwarded/issues"
   },

+ 2 - 2
express-server/node_modules/fresh/package.json

@@ -2,7 +2,7 @@
   "_from": "fresh@0.5.2",
   "_id": "fresh@0.5.2",
   "_inBundle": false,
-  "_integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+  "_integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
   "_location": "/fresh",
   "_phantomChildren": {},
   "_requested": {
@@ -22,7 +22,7 @@
   "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
   "_shasum": "3d8cadd90d976569fa835ab1f8e4b23a105605a7",
   "_spec": "fresh@0.5.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "TJ Holowaychuk",
     "email": "tj@vision-media.ca",

+ 31 - 0
express-server/node_modules/http-errors/HISTORY.md

@@ -1,3 +1,34 @@
+2.0.0 / 2021-12-17
+==================
+
+  * Drop support for Node.js 0.6
+  * Remove `I'mateapot` export; use `ImATeapot` instead
+  * Remove support for status being non-first argument
+  * Rename `UnorderedCollection` constructor to `TooEarly`
+  * deps: depd@2.0.0
+    - Replace internal `eval` usage with `Function` constructor
+    - Use instance methods on `process` to check for listeners
+  * deps: statuses@2.0.1
+    - Fix messaging casing of `418 I'm a Teapot`
+    - Remove code 306
+    - Rename `425 Unordered Collection` to standard `425 Too Early`
+
+2021-11-14 / 1.8.1
+==================
+
+  * deps: toidentifier@1.0.1
+
+2020-06-29 / 1.8.0
+==================
+
+  * Add `isHttpError` export to determine if value is an HTTP error
+  * deps: setprototypeof@1.2.0
+
+2019-06-24 / 1.7.3
+==================
+
+  * deps: inherits@2.0.4
+
 2019-02-18 / 1.7.2
 ==================
 

+ 14 - 8
express-server/node_modules/http-errors/README.md

@@ -3,7 +3,7 @@
 [![NPM Version][npm-version-image]][npm-url]
 [![NPM Downloads][npm-downloads-image]][node-url]
 [![Node.js Version][node-image]][node-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][ci-image]][ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Create HTTP errors for Express, Koa, Connect, etc. with ease.
@@ -14,7 +14,7 @@ This is a [Node.js](https://nodejs.org/en/) module available through the
 [npm registry](https://www.npmjs.com/). Installation is done using the
 [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
 
-```bash
+```console
 $ npm install http-errors
 ```
 
@@ -53,8 +53,6 @@ This is the current API, currently extracted from Koa and subject to change.
 Create a new error object with the given message `msg`.
 The error object inherits from `createError.HttpError`.
 
-<!-- eslint-disable no-undef, no-unused-vars -->
-
 ```js
 var err = createError(404, 'This video does not exist!')
 ```
@@ -70,7 +68,7 @@ properties. This will not alter the inheritance of the given
 `error` object, and the modified `error` object is the
 return value.
 
-<!-- eslint-disable no-redeclare, no-undef, no-unused-vars -->
+<!-- eslint-disable no-redeclare -->
 
 ```js
 fs.readFile('foo.txt', function (err, buf) {
@@ -88,13 +86,19 @@ fs.readFile('foo.txt', function (err, buf) {
 - `error` - the error object to extend
 - `properties` - custom properties to attach to the object
 
+### createError.isHttpError(val)
+
+Determine if the provided `val` is an `HttpError`. This will return `true`
+if the error inherits from the `HttpError` constructor of this module or
+matches the "duck type" for an error this module creates. All outputs from
+the `createError` factory will return `true` for this function, including
+if an non-`HttpError` was passed into the factory.
+
 ### new createError\[code || name\](\[msg]\))
 
 Create a new error object with the given message `msg`.
 The error object inherits from `createError.HttpError`.
 
-<!-- eslint-disable no-undef, no-unused-vars -->
-
 ```js
 var err = new createError.NotFound()
 ```
@@ -129,7 +133,7 @@ var err = new createError.NotFound()
 |422        |UnprocessableEntity          |
 |423        |Locked                       |
 |424        |FailedDependency             |
-|425        |UnorderedCollection          |
+|425        |TooEarly                     |
 |426        |UpgradeRequired              |
 |428        |PreconditionRequired         |
 |429        |TooManyRequests              |
@@ -152,6 +156,8 @@ var err = new createError.NotFound()
 
 [MIT](LICENSE)
 
+[ci-image]: https://badgen.net/github/checks/jshttp/http-errors/master?label=ci
+[ci-url]: https://github.com/jshttp/http-errors/actions?query=workflow%3Aci
 [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/http-errors/master
 [coveralls-url]: https://coveralls.io/r/jshttp/http-errors?branch=master
 [node-image]: https://badgen.net/npm/node/http-errors

+ 49 - 26
express-server/node_modules/http-errors/index.js

@@ -25,6 +25,7 @@ var toIdentifier = require('toidentifier')
 
 module.exports = createError
 module.exports.HttpError = createHttpErrorConstructor()
+module.exports.isHttpError = createIsHttpErrorFunction(module.exports.HttpError)
 
 // Populate exports for all constructors
 populateConstructorExports(module.exports, statuses.codes, module.exports.HttpError)
@@ -53,24 +54,18 @@ function createError () {
   var props = {}
   for (var i = 0; i < arguments.length; i++) {
     var arg = arguments[i]
-    if (arg instanceof Error) {
+    var type = typeof arg
+    if (type === 'object' && arg instanceof Error) {
       err = arg
       status = err.status || err.statusCode || status
-      continue
-    }
-    switch (typeof arg) {
-      case 'string':
-        msg = arg
-        break
-      case 'number':
-        status = arg
-        if (i !== 0) {
-          deprecate('non-first-argument status code; replace with createError(' + arg + ', ...)')
-        }
-        break
-      case 'object':
-        props = arg
-        break
+    } else if (type === 'number' && i === 0) {
+      status = arg
+    } else if (type === 'string') {
+      msg = arg
+    } else if (type === 'object') {
+      props = arg
+    } else {
+      throw new TypeError('argument #' + (i + 1) + ' unsupported type ' + type)
     }
   }
 
@@ -79,7 +74,7 @@ function createError () {
   }
 
   if (typeof status !== 'number' ||
-    (!statuses[status] && (status < 400 || status >= 600))) {
+    (!statuses.message[status] && (status < 400 || status >= 600))) {
     status = 500
   }
 
@@ -90,7 +85,7 @@ function createError () {
     // create error
     err = HttpError
       ? new HttpError(msg)
-      : new Error(msg || statuses[status])
+      : new Error(msg || statuses.message[status])
     Error.captureStackTrace(err, createError)
   }
 
@@ -130,11 +125,11 @@ function createHttpErrorConstructor () {
  */
 
 function createClientErrorConstructor (HttpError, name, code) {
-  var className = name.match(/Error$/) ? name : name + 'Error'
+  var className = toClassName(name)
 
   function ClientError (message) {
     // create the error object
-    var msg = message != null ? message : statuses[code]
+    var msg = message != null ? message : statuses.message[code]
     var err = new Error(msg)
 
     // capture a stack trace to the construction point
@@ -172,17 +167,38 @@ function createClientErrorConstructor (HttpError, name, code) {
   return ClientError
 }
 
+/**
+ * Create function to test is a value is a HttpError.
+ * @private
+ */
+
+function createIsHttpErrorFunction (HttpError) {
+  return function isHttpError (val) {
+    if (!val || typeof val !== 'object') {
+      return false
+    }
+
+    if (val instanceof HttpError) {
+      return true
+    }
+
+    return val instanceof Error &&
+      typeof val.expose === 'boolean' &&
+      typeof val.statusCode === 'number' && val.status === val.statusCode
+  }
+}
+
 /**
  * Create a constructor for a server error.
  * @private
  */
 
 function createServerErrorConstructor (HttpError, name, code) {
-  var className = name.match(/Error$/) ? name : name + 'Error'
+  var className = toClassName(name)
 
   function ServerError (message) {
     // create the error object
-    var msg = message != null ? message : statuses[code]
+    var msg = message != null ? message : statuses.message[code]
     var err = new Error(msg)
 
     // capture a stack trace to the construction point
@@ -242,7 +258,7 @@ function nameFunc (func, name) {
 function populateConstructorExports (exports, codes, HttpError) {
   codes.forEach(function forEachCode (code) {
     var CodeError
-    var name = toIdentifier(statuses[code])
+    var name = toIdentifier(statuses.message[code])
 
     switch (codeClass(code)) {
       case 400:
@@ -259,8 +275,15 @@ function populateConstructorExports (exports, codes, HttpError) {
       exports[name] = CodeError
     }
   })
+}
+
+/**
+ * Get a class name from a name identifier.
+ * @private
+ */
 
-  // backwards-compatibility
-  exports["I'mateapot"] = deprecate.function(exports.ImATeapot,
-    '"I\'mateapot"; use "ImATeapot" instead')
+function toClassName (name) {
+  return name.substr(-5) !== 'Error'
+    ? name + 'Error'
+    : name
 }

+ 31 - 29
express-server/node_modules/http-errors/package.json

@@ -1,29 +1,30 @@
 {
-  "_from": "http-errors@1.7.2",
-  "_id": "http-errors@1.7.2",
+  "_from": "http-errors@2.0.0",
+  "_id": "http-errors@2.0.0",
   "_inBundle": false,
-  "_integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+  "_integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
   "_location": "/http-errors",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "http-errors@1.7.2",
+    "raw": "http-errors@2.0.0",
     "name": "http-errors",
     "escapedName": "http-errors",
-    "rawSpec": "1.7.2",
+    "rawSpec": "2.0.0",
     "saveSpec": null,
-    "fetchSpec": "1.7.2"
+    "fetchSpec": "2.0.0"
   },
   "_requiredBy": [
     "/body-parser",
+    "/express",
     "/raw-body",
     "/send"
   ],
-  "_resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
-  "_shasum": "4f5029cf13239f31036e5b2e55292bcfbcc85c8f",
-  "_spec": "http-errors@1.7.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\body-parser",
+  "_resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+  "_shasum": "b7774a1486ef73cf7667ac9ae0858c012c57b9d3",
+  "_spec": "http-errors@2.0.0",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Jonathan Ong",
     "email": "me@jongleberry.com",
@@ -44,27 +45,27 @@
     }
   ],
   "dependencies": {
-    "depd": "~1.1.2",
-    "inherits": "2.0.3",
-    "setprototypeof": "1.1.1",
-    "statuses": ">= 1.5.0 < 2",
-    "toidentifier": "1.0.0"
+    "depd": "2.0.0",
+    "inherits": "2.0.4",
+    "setprototypeof": "1.2.0",
+    "statuses": "2.0.1",
+    "toidentifier": "1.0.1"
   },
   "deprecated": false,
   "description": "Create HTTP error objects",
   "devDependencies": {
-    "eslint": "5.13.0",
-    "eslint-config-standard": "12.0.0",
-    "eslint-plugin-import": "2.16.0",
-    "eslint-plugin-markdown": "1.0.0",
-    "eslint-plugin-node": "7.0.1",
-    "eslint-plugin-promise": "4.0.1",
-    "eslint-plugin-standard": "4.0.0",
-    "istanbul": "0.4.5",
-    "mocha": "5.2.0"
+    "eslint": "7.32.0",
+    "eslint-config-standard": "14.1.1",
+    "eslint-plugin-import": "2.25.3",
+    "eslint-plugin-markdown": "2.2.1",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-standard": "4.1.0",
+    "mocha": "9.1.3",
+    "nyc": "15.1.0"
   },
   "engines": {
-    "node": ">= 0.6"
+    "node": ">= 0.8"
   },
   "files": [
     "index.js",
@@ -84,10 +85,11 @@
     "url": "git+https://github.com/jshttp/http-errors.git"
   },
   "scripts": {
-    "lint": "eslint --plugin markdown --ext js,md . && node ./scripts/lint-readme-list.js",
+    "lint": "eslint . && node ./scripts/lint-readme-list.js",
     "test": "mocha --reporter spec --bail",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter dot"
+    "test-ci": "nyc --reporter=lcov --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test",
+    "version": "node scripts/version-history.js && git add HISTORY.md"
   },
-  "version": "1.7.2"
+  "version": "2.0.0"
 }

+ 1 - 1
express-server/node_modules/iconv-lite/package.json

@@ -22,7 +22,7 @@
   "_resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
   "_shasum": "2022b4b25fbddc21d2f524974a474aafe733908b",
   "_spec": "iconv-lite@0.4.24",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\body-parser",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\body-parser",
   "author": {
     "name": "Alexander Shtuchkin",
     "email": "ashtuchkin@gmail.com"

+ 2 - 0
express-server/node_modules/inherits/inherits.js

@@ -1,7 +1,9 @@
 try {
   var util = require('util');
+  /* istanbul ignore next */
   if (typeof util.inherits !== 'function') throw '';
   module.exports = util.inherits;
 } catch (e) {
+  /* istanbul ignore next */
   module.exports = require('./inherits_browser.js');
 }

+ 18 - 14
express-server/node_modules/inherits/inherits_browser.js

@@ -1,23 +1,27 @@
 if (typeof Object.create === 'function') {
   // implementation from standard node.js 'util' module
   module.exports = function inherits(ctor, superCtor) {
-    ctor.super_ = superCtor
-    ctor.prototype = Object.create(superCtor.prototype, {
-      constructor: {
-        value: ctor,
-        enumerable: false,
-        writable: true,
-        configurable: true
-      }
-    });
+    if (superCtor) {
+      ctor.super_ = superCtor
+      ctor.prototype = Object.create(superCtor.prototype, {
+        constructor: {
+          value: ctor,
+          enumerable: false,
+          writable: true,
+          configurable: true
+        }
+      })
+    }
   };
 } else {
   // old school shim for old browsers
   module.exports = function inherits(ctor, superCtor) {
-    ctor.super_ = superCtor
-    var TempCtor = function () {}
-    TempCtor.prototype = superCtor.prototype
-    ctor.prototype = new TempCtor()
-    ctor.prototype.constructor = ctor
+    if (superCtor) {
+      ctor.super_ = superCtor
+      var TempCtor = function () {}
+      TempCtor.prototype = superCtor.prototype
+      ctor.prototype = new TempCtor()
+      ctor.prototype.constructor = ctor
+    }
   }
 }

+ 14 - 13
express-server/node_modules/inherits/package.json

@@ -1,30 +1,31 @@
 {
-  "_from": "inherits@2.0.3",
-  "_id": "inherits@2.0.3",
+  "_from": "inherits@2.0.4",
+  "_id": "inherits@2.0.4",
   "_inBundle": false,
-  "_integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+  "_integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
   "_location": "/inherits",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "inherits@2.0.3",
+    "raw": "inherits@2.0.4",
     "name": "inherits",
     "escapedName": "inherits",
-    "rawSpec": "2.0.3",
+    "rawSpec": "2.0.4",
     "saveSpec": null,
-    "fetchSpec": "2.0.3"
+    "fetchSpec": "2.0.4"
   },
   "_requiredBy": [
     "/ftp/readable-stream",
+    "/get-uri/readable-stream",
     "/glob",
     "/http-errors",
     "/readable-stream"
   ],
-  "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
-  "_shasum": "633c2c83e3da42a502f52466022480f4208261de",
-  "_spec": "inherits@2.0.3",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\http-errors",
+  "_resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+  "_shasum": "0fa2c64f932917c3433a0ded55363aae37416b7c",
+  "_spec": "inherits@2.0.4",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\http-errors",
   "browser": "./inherits_browser.js",
   "bugs": {
     "url": "https://github.com/isaacs/inherits/issues"
@@ -33,7 +34,7 @@
   "deprecated": false,
   "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
   "devDependencies": {
-    "tap": "^7.1.0"
+    "tap": "^14.2.4"
   },
   "files": [
     "inherits.js",
@@ -58,7 +59,7 @@
     "url": "git://github.com/isaacs/inherits.git"
   },
   "scripts": {
-    "test": "node test"
+    "test": "tap"
   },
-  "version": "2.0.3"
+  "version": "2.0.4"
 }

+ 1 - 1
express-server/node_modules/ipaddr.js/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
   "_shasum": "bff38543eeb8984825079ff3a2a8e6cbd46781b3",
   "_spec": "ipaddr.js@1.9.1",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\proxy-addr",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\proxy-addr",
   "author": {
     "name": "whitequark",
     "email": "whitequark@whitequark.org"

+ 2 - 2
express-server/node_modules/media-typer/package.json

@@ -2,7 +2,7 @@
   "_from": "media-typer@0.3.0",
   "_id": "media-typer@0.3.0",
   "_inBundle": false,
-  "_integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+  "_integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
   "_location": "/media-typer",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
   "_shasum": "8710d7af0aa626f8fffa1ce00168545263255748",
   "_spec": "media-typer@0.3.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\type-is",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\type-is",
   "author": {
     "name": "Douglas Christopher Wilson",
     "email": "doug@somethingdoug.com"

+ 2 - 2
express-server/node_modules/merge-descriptors/package.json

@@ -2,7 +2,7 @@
   "_from": "merge-descriptors@1.0.1",
   "_id": "merge-descriptors@1.0.1",
   "_inBundle": false,
-  "_integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+  "_integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
   "_location": "/merge-descriptors",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
   "_shasum": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61",
   "_spec": "merge-descriptors@1.0.1",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Jonathan Ong",
     "email": "me@jongleberry.com",

+ 2 - 2
express-server/node_modules/methods/package.json

@@ -2,7 +2,7 @@
   "_from": "methods@~1.1.2",
   "_id": "methods@1.1.2",
   "_inBundle": false,
-  "_integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+  "_integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
   "_location": "/methods",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
   "_shasum": "5529a4d67654134edcc5266656835b0f851afcee",
   "_spec": "methods@~1.1.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "browser": {
     "http": false
   },

+ 21 - 0
express-server/node_modules/mime-db/HISTORY.md

@@ -1,3 +1,24 @@
+1.52.0 / 2022-02-21
+===================
+
+  * Add extensions from IANA for more `image/*` types
+  * Add extension `.asc` to `application/pgp-keys`
+  * Add extensions to various XML types
+  * Add new upstream MIME types
+
+1.51.0 / 2021-11-08
+===================
+
+  * Add new upstream MIME types
+  * Mark `image/vnd.microsoft.icon` as compressible
+  * Mark `image/vnd.ms-dds` as compressible
+
+1.50.0 / 2021-09-15
+===================
+
+  * Add deprecated iWorks mime types and extensions
+  * Add new upstream MIME types
+
 1.49.0 / 2021-07-26
 ===================
 

+ 19 - 18
express-server/node_modules/mime-db/LICENSE

@@ -1,22 +1,23 @@
+(The MIT License)
 
-The MIT License (MIT)
+Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
+Copyright (c) 2015-2022 Douglas Christopher Wilson <doug@somethingdoug.com>
 
-Copyright (c) 2014 Jonathan Ong me@jongleberry.com
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
 
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
 
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 1 - 1
express-server/node_modules/mime-db/README.md

@@ -6,7 +6,7 @@
 [![Build Status][ci-image]][ci-url]
 [![Coverage Status][coveralls-image]][coveralls-url]
 
-This is a database of all mime types.
+This is a large database of mime types and information about them.
 It consists of a single, public JSON file and does not include any logic,
 allowing it to remain as un-opinionated as possible with an API.
 It aggregates data from the following sources:

+ 108 - 6
express-server/node_modules/mime-db/db.json

@@ -22,6 +22,9 @@
   "application/a2l": {
     "source": "iana"
   },
+  "application/ace+cbor": {
+    "source": "iana"
+  },
   "application/activemessage": {
     "source": "iana"
   },
@@ -91,6 +94,9 @@
     "source": "apache",
     "extensions": ["aw"]
   },
+  "application/at+jwt": {
+    "source": "iana"
+  },
   "application/atf": {
     "source": "iana"
   },
@@ -244,6 +250,10 @@
   "application/cfw": {
     "source": "iana"
   },
+  "application/city+json": {
+    "source": "iana",
+    "compressible": true
+  },
   "application/clr": {
     "source": "iana"
   },
@@ -287,7 +297,8 @@
   },
   "application/cpl+xml": {
     "source": "iana",
-    "compressible": true
+    "compressible": true,
+    "extensions": ["cpl"]
   },
   "application/csrattrs": {
     "source": "iana"
@@ -322,6 +333,11 @@
     "compressible": true,
     "extensions": ["mpd"]
   },
+  "application/dash-patch+xml": {
+    "source": "iana",
+    "compressible": true,
+    "extensions": ["mpp"]
+  },
   "application/dashdelta": {
     "source": "iana"
   },
@@ -491,6 +507,10 @@
     "source": "iana",
     "compressible": true
   },
+  "application/express": {
+    "source": "iana",
+    "extensions": ["exp"]
+  },
   "application/fastinfoset": {
     "source": "iana"
   },
@@ -858,7 +878,8 @@
   },
   "application/media-policy-dataset+xml": {
     "source": "iana",
-    "compressible": true
+    "compressible": true,
+    "extensions": ["mpf"]
   },
   "application/media_control+xml": {
     "source": "iana",
@@ -1014,6 +1035,9 @@
   "application/oauth-authz-req+jwt": {
     "source": "iana"
   },
+  "application/oblivious-dns-message": {
+    "source": "iana"
+  },
   "application/ocsp-request": {
     "source": "iana"
   },
@@ -1066,6 +1090,9 @@
     "source": "iana",
     "extensions": ["oxps"]
   },
+  "application/p21": {
+    "source": "iana"
+  },
   "application/p21+zip": {
     "source": "iana",
     "compressible": false
@@ -1103,7 +1130,8 @@
     "extensions": ["pgp"]
   },
   "application/pgp-keys": {
-    "source": "iana"
+    "source": "iana",
+    "extensions": ["asc"]
   },
   "application/pgp-signature": {
     "source": "iana",
@@ -1523,6 +1551,10 @@
     "compressible": true,
     "extensions": ["srx"]
   },
+  "application/spdx+json": {
+    "source": "iana",
+    "compressible": true
+  },
   "application/spirits-event+xml": {
     "source": "iana",
     "compressible": true
@@ -1640,6 +1672,9 @@
   "application/tnauthlist": {
     "source": "iana"
   },
+  "application/token-introspection+jwt": {
+    "source": "iana"
+  },
   "application/toml": {
     "compressible": true,
     "extensions": ["toml"]
@@ -2001,6 +2036,10 @@
   "application/vnd.afpc.modca-pagesegment": {
     "source": "iana"
   },
+  "application/vnd.age": {
+    "source": "iana",
+    "extensions": ["age"]
+  },
   "application/vnd.ah-barcode": {
     "source": "iana"
   },
@@ -2623,6 +2662,10 @@
   "application/vnd.ecip.rlp": {
     "source": "iana"
   },
+  "application/vnd.eclipse.ditto+json": {
+    "source": "iana",
+    "compressible": true
+  },
   "application/vnd.ecowin.chart": {
     "source": "iana",
     "extensions": ["mag"]
@@ -2780,6 +2823,10 @@
   "application/vnd.etsi.tsl.der": {
     "source": "iana"
   },
+  "application/vnd.eu.kasparian.car+json": {
+    "source": "iana",
+    "compressible": true
+  },
   "application/vnd.eudora.data": {
     "source": "iana"
   },
@@ -2810,6 +2857,10 @@
   "application/vnd.f-secure.mobile": {
     "source": "iana"
   },
+  "application/vnd.familysearch.gedcom+zip": {
+    "source": "iana",
+    "compressible": false
+  },
   "application/vnd.fastcopy-disk-image": {
     "source": "iana"
   },
@@ -3100,6 +3151,16 @@
     "source": "iana",
     "extensions": ["les"]
   },
+  "application/vnd.hl7cda+xml": {
+    "source": "iana",
+    "charset": "UTF-8",
+    "compressible": true
+  },
+  "application/vnd.hl7v2+xml": {
+    "source": "iana",
+    "charset": "UTF-8",
+    "compressible": true
+  },
   "application/vnd.hp-hpgl": {
     "source": "iana",
     "extensions": ["hpgl"]
@@ -3513,6 +3574,10 @@
     "source": "iana",
     "compressible": true
   },
+  "application/vnd.maxar.archive.3tz+zip": {
+    "source": "iana",
+    "compressible": false
+  },
   "application/vnd.maxmind.maxmind-db": {
     "source": "iana"
   },
@@ -3842,6 +3907,10 @@
     "source": "iana",
     "extensions": ["taglet"]
   },
+  "application/vnd.nacamar.ybrid+json": {
+    "source": "iana",
+    "compressible": true
+  },
   "application/vnd.ncd.control": {
     "source": "iana"
   },
@@ -5129,6 +5198,10 @@
     "source": "iana",
     "compressible": true
   },
+  "application/vnd.syft+json": {
+    "source": "iana",
+    "compressible": true
+  },
   "application/vnd.symbian.install": {
     "source": "apache",
     "extensions": ["sis","sisx"]
@@ -5519,7 +5592,8 @@
   },
   "application/watcherinfo+xml": {
     "source": "iana",
-    "compressible": true
+    "compressible": true,
+    "extensions": ["wif"]
   },
   "application/webpush-options+json": {
     "source": "iana",
@@ -5795,6 +5869,15 @@
     "source": "apache",
     "extensions": ["iso"]
   },
+  "application/x-iwork-keynote-sffkey": {
+    "extensions": ["key"]
+  },
+  "application/x-iwork-numbers-sffnumbers": {
+    "extensions": ["numbers"]
+  },
+  "application/x-iwork-pages-sffpages": {
+    "extensions": ["pages"]
+  },
   "application/x-java-archive-diff": {
     "source": "nginx",
     "extensions": ["jardiff"]
@@ -6930,10 +7013,12 @@
     "extensions": ["apng"]
   },
   "image/avci": {
-    "source": "iana"
+    "source": "iana",
+    "extensions": ["avci"]
   },
   "image/avcs": {
-    "source": "iana"
+    "source": "iana",
+    "extensions": ["avcs"]
   },
   "image/avif": {
     "source": "iana",
@@ -7167,6 +7252,7 @@
   },
   "image/vnd.microsoft.icon": {
     "source": "iana",
+    "compressible": true,
     "extensions": ["ico"]
   },
   "image/vnd.mix": {
@@ -7176,6 +7262,7 @@
     "source": "iana"
   },
   "image/vnd.ms-dds": {
+    "compressible": true,
     "extensions": ["dds"]
   },
   "image/vnd.ms-modi": {
@@ -7426,6 +7513,14 @@
     "source": "iana",
     "extensions": ["obj"]
   },
+  "model/step": {
+    "source": "iana"
+  },
+  "model/step+xml": {
+    "source": "iana",
+    "compressible": true,
+    "extensions": ["stpx"]
+  },
   "model/step+zip": {
     "source": "iana",
     "compressible": false,
@@ -7857,6 +7952,10 @@
     "source": "iana",
     "charset": "UTF-8"
   },
+  "text/vnd.familysearch.gedcom": {
+    "source": "iana",
+    "extensions": ["ged"]
+  },
   "text/vnd.ficlab.flt": {
     "source": "iana"
   },
@@ -8126,6 +8225,9 @@
     "source": "apache",
     "extensions": ["jpm","jpgm"]
   },
+  "video/jxsv": {
+    "source": "iana"
+  },
   "video/mj2": {
     "source": "iana",
     "extensions": ["mj2","mjp2"]

+ 1 - 0
express-server/node_modules/mime-db/index.js

@@ -1,6 +1,7 @@
 /*!
  * mime-db
  * Copyright(c) 2014 Jonathan Ong
+ * Copyright(c) 2015-2022 Douglas Christopher Wilson
  * MIT Licensed
  */
 

+ 19 - 18
express-server/node_modules/mime-db/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "mime-db@1.49.0",
-  "_id": "mime-db@1.49.0",
+  "_from": "mime-db@1.52.0",
+  "_id": "mime-db@1.52.0",
   "_inBundle": false,
-  "_integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+  "_integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
   "_location": "/mime-db",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "mime-db@1.49.0",
+    "raw": "mime-db@1.52.0",
     "name": "mime-db",
     "escapedName": "mime-db",
-    "rawSpec": "1.49.0",
+    "rawSpec": "1.52.0",
     "saveSpec": null,
-    "fetchSpec": "1.49.0"
+    "fetchSpec": "1.52.0"
   },
   "_requiredBy": [
     "/mime-types"
   ],
-  "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
-  "_shasum": "f3dfde60c99e9cf3bc9701d687778f537001cbed",
-  "_spec": "mime-db@1.49.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\mime-types",
+  "_resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+  "_shasum": "bbabcdc02859f4987301c856e3387ce5ec43bf70",
+  "_spec": "mime-db@1.52.0",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\mime-types",
   "bugs": {
     "url": "https://github.com/jshttp/mime-db/issues"
   },
@@ -48,18 +48,19 @@
     "bluebird": "3.7.2",
     "co": "4.6.0",
     "cogent": "1.0.1",
-    "csv-parse": "4.16.0",
-    "eslint": "7.31.0",
+    "csv-parse": "4.16.3",
+    "eslint": "7.32.0",
     "eslint-config-standard": "15.0.1",
-    "eslint-plugin-import": "2.23.4",
-    "eslint-plugin-markdown": "2.2.0",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-markdown": "2.2.1",
     "eslint-plugin-node": "11.1.0",
-    "eslint-plugin-promise": "5.1.0",
+    "eslint-plugin-promise": "5.1.1",
     "eslint-plugin-standard": "4.1.0",
     "gnode": "0.1.2",
-    "mocha": "9.0.3",
+    "media-typer": "1.1.0",
+    "mocha": "9.2.1",
     "nyc": "15.1.0",
-    "raw-body": "2.4.1",
+    "raw-body": "2.5.0",
     "stream-to-array": "2.3.0"
   },
   "engines": {
@@ -98,5 +99,5 @@
     "update": "npm run fetch && npm run build",
     "version": "node scripts/version-history.js && git add HISTORY.md"
   },
-  "version": "1.49.0"
+  "version": "1.52.0"
 }

+ 22 - 3
express-server/node_modules/mime-types/HISTORY.md

@@ -1,3 +1,25 @@
+2.1.35 / 2022-03-12
+===================
+
+  * deps: mime-db@1.52.0
+    - Add extensions from IANA for more `image/*` types
+    - Add extension `.asc` to `application/pgp-keys`
+    - Add extensions to various XML types
+    - Add new upstream MIME types
+
+2.1.34 / 2021-11-08
+===================
+
+  * deps: mime-db@1.51.0
+    - Add new upstream MIME types
+
+2.1.33 / 2021-10-01
+===================
+
+  * deps: mime-db@1.50.0
+    - Add deprecated iWorks mime types and extensions
+    - Add new upstream MIME types
+
 2.1.32 / 2021-07-27
 ===================
 
@@ -11,7 +33,6 @@
   * deps: mime-db@1.48.0
     - Add extension `.mvt` to `application/vnd.mapbox-vector-tile`
     - Add new upstream MIME types
-    - Mark `text/yaml` as compressible
 
 2.1.30 / 2021-04-02
 ===================
@@ -89,7 +110,6 @@
     - Add extension `.nq` to `application/n-quads`
     - Add extension `.nt` to `application/n-triples`
     - Add new upstream MIME types
-    - Mark `text/less` as compressible
 
 2.1.21 / 2018-10-19
 ===================
@@ -342,7 +362,6 @@
 
   * deps: mime-db@~1.1.0
     - Add new mime types
-    - Add additional compressible
     - Update charsets
 
 2.0.1 / 2014-09-07

+ 1 - 1
express-server/node_modules/mime-types/README.md

@@ -103,7 +103,7 @@ A map of extensions by content-type.
 [MIT](LICENSE)
 
 [ci-image]: https://badgen.net/github/checks/jshttp/mime-types/master?label=ci
-[ci-url]: https://github.com/jshttp/mime-types/actions?query=workflow%3Aci
+[ci-url]: https://github.com/jshttp/mime-types/actions/workflows/ci.yml
 [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master
 [coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master
 [node-version-image]: https://badgen.net/npm/node/mime-types

+ 17 - 17
express-server/node_modules/mime-types/package.json

@@ -1,29 +1,29 @@
 {
-  "_from": "mime-types@~2.1.24",
-  "_id": "mime-types@2.1.32",
+  "_from": "mime-types@~2.1.34",
+  "_id": "mime-types@2.1.35",
   "_inBundle": false,
-  "_integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+  "_integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
   "_location": "/mime-types",
   "_phantomChildren": {},
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "mime-types@~2.1.24",
+    "raw": "mime-types@~2.1.34",
     "name": "mime-types",
     "escapedName": "mime-types",
-    "rawSpec": "~2.1.24",
+    "rawSpec": "~2.1.34",
     "saveSpec": null,
-    "fetchSpec": "~2.1.24"
+    "fetchSpec": "~2.1.34"
   },
   "_requiredBy": [
     "/accepts",
     "/form-data",
     "/type-is"
   ],
-  "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
-  "_shasum": "1d00e89e7de7fe02008db61001d9e02852670fd5",
-  "_spec": "mime-types@~2.1.24",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\accepts",
+  "_resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+  "_shasum": "381a871b62a734450660ae3deee44813f70d959a",
+  "_spec": "mime-types@~2.1.34",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\accepts",
   "bugs": {
     "url": "https://github.com/jshttp/mime-types/issues"
   },
@@ -45,19 +45,19 @@
     }
   ],
   "dependencies": {
-    "mime-db": "1.49.0"
+    "mime-db": "1.52.0"
   },
   "deprecated": false,
   "description": "The ultimate javascript content-type utility.",
   "devDependencies": {
-    "eslint": "7.31.0",
+    "eslint": "7.32.0",
     "eslint-config-standard": "14.1.1",
-    "eslint-plugin-import": "2.23.4",
-    "eslint-plugin-markdown": "2.2.0",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-markdown": "2.2.1",
     "eslint-plugin-node": "11.1.0",
-    "eslint-plugin-promise": "5.1.0",
+    "eslint-plugin-promise": "5.2.0",
     "eslint-plugin-standard": "4.1.0",
-    "mocha": "9.0.3",
+    "mocha": "9.2.2",
     "nyc": "15.1.0"
   },
   "engines": {
@@ -85,5 +85,5 @@
     "test-ci": "nyc --reporter=lcov --reporter=text npm test",
     "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "2.1.32"
+  "version": "2.1.35"
 }

+ 1 - 1
express-server/node_modules/mime/package.json

@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
   "_shasum": "32cd9e5c64553bd58d19a568af452acff04981b1",
   "_spec": "mime@1.6.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\send",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\send",
   "author": {
     "name": "Robert Kieffer",
     "email": "robert@broofa.com",

+ 1 - 1
express-server/node_modules/mkdirp/package.json

@@ -22,7 +22,7 @@
   "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
   "_shasum": "3eb5ed62622756d79a5f0e2a221dfebad75c2f7e",
   "_spec": "mkdirp@^1.0.4",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server",
+  "_where": "C:\\FatboarProject\\express-server",
   "bin": {
     "mkdirp": "bin/cmd.js"
   },

+ 3 - 4
express-server/node_modules/ms/package.json

@@ -2,7 +2,7 @@
   "_from": "ms@2.0.0",
   "_id": "ms@2.0.0",
   "_inBundle": false,
-  "_integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+  "_integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
   "_location": "/ms",
   "_phantomChildren": {},
   "_requested": {
@@ -17,13 +17,12 @@
   },
   "_requiredBy": [
     "/debug",
-    "/http-proxy-agent/debug",
-    "/mquery/debug"
+    "/http-proxy-agent/debug"
   ],
   "_resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
   "_shasum": "5608aeadfc00be6c2901df5f9861788de0d597c8",
   "_spec": "ms@2.0.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\debug",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\debug",
   "bugs": {
     "url": "https://github.com/zeit/ms/issues"
   },

+ 5 - 0
express-server/node_modules/negotiator/HISTORY.md

@@ -1,3 +1,8 @@
+0.6.3 / 2022-01-22
+==================
+
+  * Revert "Lazy-load modules from main entry point"
+
 0.6.2 / 2019-04-29
 ==================
 

+ 3 - 3
express-server/node_modules/negotiator/README.md

@@ -3,7 +3,7 @@
 [![NPM Version][npm-image]][npm-url]
 [![NPM Downloads][downloads-image]][downloads-url]
 [![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
+[![Build Status][github-actions-ci-image]][github-actions-ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 An HTTP content negotiator for Node.js
@@ -195,9 +195,9 @@ and more.
 [npm-url]: https://npmjs.org/package/negotiator
 [node-version-image]: https://img.shields.io/node/v/negotiator.svg
 [node-version-url]: https://nodejs.org/en/download/
-[travis-image]: https://img.shields.io/travis/jshttp/negotiator/master.svg
-[travis-url]: https://travis-ci.org/jshttp/negotiator
 [coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator/master.svg
 [coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master
 [downloads-image]: https://img.shields.io/npm/dm/negotiator.svg
 [downloads-url]: https://npmjs.org/package/negotiator
+[github-actions-ci-image]: https://img.shields.io/github/workflow/status/jshttp/negotiator/ci/master?label=ci
+[github-actions-ci-url]: https://github.com/jshttp/negotiator/actions/workflows/ci.yml

+ 4 - 46
express-server/node_modules/negotiator/index.js

@@ -8,12 +8,10 @@
 
 'use strict';
 
-/**
- * Cached loaded submodules.
- * @private
- */
-
-var modules = Object.create(null);
+var preferredCharsets = require('./lib/charset')
+var preferredEncodings = require('./lib/encoding')
+var preferredLanguages = require('./lib/language')
+var preferredMediaTypes = require('./lib/mediaType')
 
 /**
  * Module exports.
@@ -43,7 +41,6 @@ Negotiator.prototype.charset = function charset(available) {
 };
 
 Negotiator.prototype.charsets = function charsets(available) {
-  var preferredCharsets = loadModule('charset').preferredCharsets;
   return preferredCharsets(this.request.headers['accept-charset'], available);
 };
 
@@ -53,7 +50,6 @@ Negotiator.prototype.encoding = function encoding(available) {
 };
 
 Negotiator.prototype.encodings = function encodings(available) {
-  var preferredEncodings = loadModule('encoding').preferredEncodings;
   return preferredEncodings(this.request.headers['accept-encoding'], available);
 };
 
@@ -63,7 +59,6 @@ Negotiator.prototype.language = function language(available) {
 };
 
 Negotiator.prototype.languages = function languages(available) {
-  var preferredLanguages = loadModule('language').preferredLanguages;
   return preferredLanguages(this.request.headers['accept-language'], available);
 };
 
@@ -73,7 +68,6 @@ Negotiator.prototype.mediaType = function mediaType(available) {
 };
 
 Negotiator.prototype.mediaTypes = function mediaTypes(available) {
-  var preferredMediaTypes = loadModule('mediaType').preferredMediaTypes;
   return preferredMediaTypes(this.request.headers.accept, available);
 };
 
@@ -86,39 +80,3 @@ Negotiator.prototype.preferredLanguage = Negotiator.prototype.language;
 Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages;
 Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType;
 Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes;
-
-/**
- * Load the given module.
- * @private
- */
-
-function loadModule(moduleName) {
-  var module = modules[moduleName];
-
-  if (module !== undefined) {
-    return module;
-  }
-
-  // This uses a switch for static require analysis
-  switch (moduleName) {
-    case 'charset':
-      module = require('./lib/charset');
-      break;
-    case 'encoding':
-      module = require('./lib/encoding');
-      break;
-    case 'language':
-      module = require('./lib/language');
-      break;
-    case 'mediaType':
-      module = require('./lib/mediaType');
-      break;
-    default:
-      throw new Error('Cannot find module \'' + moduleName + '\'');
-  }
-
-  // Store to prevent invoking require()
-  modules[moduleName] = module;
-
-  return module;
-}

+ 3 - 3
express-server/node_modules/negotiator/lib/language.js

@@ -54,9 +54,9 @@ function parseLanguage(str, i) {
   var match = simpleLanguageRegExp.exec(str);
   if (!match) return null;
 
-  var prefix = match[1],
-    suffix = match[2],
-    full = prefix;
+  var prefix = match[1]
+  var suffix = match[2]
+  var full = prefix
 
   if (suffix) full += "-" + suffix;
 

+ 18 - 18
express-server/node_modules/negotiator/package.json

@@ -1,27 +1,27 @@
 {
-  "_from": "negotiator@0.6.2",
-  "_id": "negotiator@0.6.2",
+  "_from": "negotiator@0.6.3",
+  "_id": "negotiator@0.6.3",
   "_inBundle": false,
-  "_integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
+  "_integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
   "_location": "/negotiator",
   "_phantomChildren": {},
   "_requested": {
     "type": "version",
     "registry": true,
-    "raw": "negotiator@0.6.2",
+    "raw": "negotiator@0.6.3",
     "name": "negotiator",
     "escapedName": "negotiator",
-    "rawSpec": "0.6.2",
+    "rawSpec": "0.6.3",
     "saveSpec": null,
-    "fetchSpec": "0.6.2"
+    "fetchSpec": "0.6.3"
   },
   "_requiredBy": [
     "/accepts"
   ],
-  "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-  "_shasum": "feacf7ccf525a77ae9634436a64883ffeca346fb",
-  "_spec": "negotiator@0.6.2",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\accepts",
+  "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+  "_shasum": "58e323a72fedc0d6f9cd4d31fe49f51479590ccd",
+  "_spec": "negotiator@0.6.3",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\accepts",
   "bugs": {
     "url": "https://github.com/jshttp/negotiator/issues"
   },
@@ -44,10 +44,10 @@
   "deprecated": false,
   "description": "HTTP content negotiation",
   "devDependencies": {
-    "eslint": "5.16.0",
-    "eslint-plugin-markdown": "1.0.0",
-    "mocha": "6.1.4",
-    "nyc": "14.0.0"
+    "eslint": "7.32.0",
+    "eslint-plugin-markdown": "2.2.1",
+    "mocha": "9.1.3",
+    "nyc": "15.1.0"
   },
   "engines": {
     "node": ">= 0.6"
@@ -75,10 +75,10 @@
     "url": "git+https://github.com/jshttp/negotiator.git"
   },
   "scripts": {
-    "lint": "eslint --plugin markdown --ext js,md .",
+    "lint": "eslint .",
     "test": "mocha --reporter spec --check-leaks --bail test/",
-    "test-cov": "nyc --reporter=html --reporter=text npm test",
-    "test-travis": "nyc --reporter=text npm test"
+    "test-ci": "nyc --reporter=lcov --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "0.6.2"
+  "version": "0.6.3"
 }

+ 10 - 0
express-server/node_modules/on-finished/HISTORY.md

@@ -1,3 +1,13 @@
+2.4.1 / 2022-02-22
+==================
+
+  * Fix error on early async hooks implementations
+
+2.4.0 / 2022-02-21
+==================
+
+  * Prevent loss of async hooks context
+
 2.3.0 / 2015-05-26
 ==================
 

+ 28 - 20
express-server/node_modules/on-finished/README.md

@@ -1,15 +1,19 @@
 # on-finished
 
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Node.js Version][node-version-image]][node-version-url]
-[![Build Status][travis-image]][travis-url]
-[![Test Coverage][coveralls-image]][coveralls-url]
+[![NPM Version][npm-version-image]][npm-url]
+[![NPM Downloads][npm-downloads-image]][npm-url]
+[![Node.js Version][node-image]][node-url]
+[![Build Status][ci-image]][ci-url]
+[![Coverage Status][coveralls-image]][coveralls-url]
 
 Execute a callback when a HTTP request closes, finishes, or errors.
 
 ## Install
 
+This is a [Node.js](https://nodejs.org/en/) module available through the
+[npm registry](https://www.npmjs.com/). Installation is done using the
+[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
+
 ```sh
 $ npm install on-finished
 ```
@@ -32,10 +36,12 @@ with the response, like open files.
 
 Listener is invoked as `listener(err, res)`.
 
+<!-- eslint-disable handle-callback-err -->
+
 ```js
 onFinished(res, function (err, res) {
   // clean up open fds, etc.
-  // err contains the error is request error'd
+  // err contains the error if request error'd
 })
 ```
 
@@ -51,11 +57,13 @@ after reading the data.
 
 Listener is invoked as `listener(err, req)`.
 
+<!-- eslint-disable handle-callback-err -->
+
 ```js
 var data = ''
 
 req.setEncoding('utf8')
-res.on('data', function (str) {
+req.on('data', function (str) {
   data += str
 })
 
@@ -97,7 +105,7 @@ interface**. This means if the `CONNECT` request contains a request entity,
 the request will be considered "finished" even before it has been read.
 
 There is no such thing as a response object to a `CONNECT` request in
-Node.js, so there is no support for for one.
+Node.js, so there is no support for one.
 
 ### HTTP Upgrade request
 
@@ -117,7 +125,7 @@ entity, the request will be considered "finished" even before it has been
 read.
 
 There is no such thing as a response object to a `Upgrade` request in
-Node.js, so there is no support for for one.
+Node.js, so there is no support for one.
 
 ## Example
 
@@ -126,13 +134,14 @@ once the response finishes.
 
 ```js
 var destroy = require('destroy')
+var fs = require('fs')
 var http = require('http')
 var onFinished = require('on-finished')
 
-http.createServer(function onRequest(req, res) {
+http.createServer(function onRequest (req, res) {
   var stream = fs.createReadStream('package.json')
   stream.pipe(res)
-  onFinished(res, function (err) {
+  onFinished(res, function () {
     destroy(stream)
   })
 })
@@ -142,13 +151,12 @@ http.createServer(function onRequest(req, res) {
 
 [MIT](LICENSE)
 
-[npm-image]: https://img.shields.io/npm/v/on-finished.svg
-[npm-url]: https://npmjs.org/package/on-finished
-[node-version-image]: https://img.shields.io/node/v/on-finished.svg
-[node-version-url]: http://nodejs.org/download/
-[travis-image]: https://img.shields.io/travis/jshttp/on-finished/master.svg
-[travis-url]: https://travis-ci.org/jshttp/on-finished
-[coveralls-image]: https://img.shields.io/coveralls/jshttp/on-finished/master.svg
+[ci-image]: https://badgen.net/github/checks/jshttp/on-finished/master?label=ci
+[ci-url]: https://github.com/jshttp/on-finished/actions/workflows/ci.yml
+[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/on-finished/master
 [coveralls-url]: https://coveralls.io/r/jshttp/on-finished?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/on-finished.svg
-[downloads-url]: https://npmjs.org/package/on-finished
+[node-image]: https://badgen.net/npm/node/on-finished
+[node-url]: https://nodejs.org/en/download
+[npm-downloads-image]: https://badgen.net/npm/dm/on-finished
+[npm-url]: https://npmjs.org/package/on-finished
+[npm-version-image]: https://badgen.net/npm/v/on-finished

+ 51 - 13
express-server/node_modules/on-finished/index.js

@@ -20,6 +20,7 @@ module.exports.isFinished = isFinished
  * @private
  */
 
+var asyncHooks = tryRequireAsyncHooks()
 var first = require('ee-first')
 
 /**
@@ -30,7 +31,7 @@ var first = require('ee-first')
 /* istanbul ignore next */
 var defer = typeof setImmediate === 'function'
   ? setImmediate
-  : function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) }
+  : function (fn) { process.nextTick(fn.bind.apply(fn, arguments)) }
 
 /**
  * Invoke callback when the response has finished, useful for
@@ -42,14 +43,14 @@ var defer = typeof setImmediate === 'function'
  * @public
  */
 
-function onFinished(msg, listener) {
+function onFinished (msg, listener) {
   if (isFinished(msg) !== false) {
     defer(listener, null, msg)
     return msg
   }
 
   // attach the listener to the message
-  attachListener(msg, listener)
+  attachListener(msg, wrap(listener))
 
   return msg
 }
@@ -62,7 +63,7 @@ function onFinished(msg, listener) {
  * @public
  */
 
-function isFinished(msg) {
+function isFinished (msg) {
   var socket = msg.socket
 
   if (typeof msg.finished === 'boolean') {
@@ -87,12 +88,12 @@ function isFinished(msg) {
  * @private
  */
 
-function attachFinishedListener(msg, callback) {
+function attachFinishedListener (msg, callback) {
   var eeMsg
   var eeSocket
   var finished = false
 
-  function onFinish(error) {
+  function onFinish (error) {
     eeMsg.cancel()
     eeSocket.cancel()
 
@@ -103,7 +104,7 @@ function attachFinishedListener(msg, callback) {
   // finished on first message event
   eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish)
 
-  function onSocket(socket) {
+  function onSocket (socket) {
     // remove listener
     msg.removeListener('socket', onSocket)
 
@@ -124,7 +125,7 @@ function attachFinishedListener(msg, callback) {
   msg.on('socket', onSocket)
 
   if (msg.socket === undefined) {
-    // node.js 0.8 patch
+    // istanbul ignore next: node.js 0.8 patch
     patchAssignSocket(msg, onSocket)
   }
 }
@@ -137,7 +138,7 @@ function attachFinishedListener(msg, callback) {
  * @private
  */
 
-function attachListener(msg, listener) {
+function attachListener (msg, listener) {
   var attached = msg.__onFinished
 
   // create a private single listener with queue
@@ -157,8 +158,8 @@ function attachListener(msg, listener) {
  * @private
  */
 
-function createListener(msg) {
-  function listener(err) {
+function createListener (msg) {
+  function listener (err) {
     if (msg.__onFinished === listener) msg.__onFinished = null
     if (!listener.queue) return
 
@@ -183,14 +184,51 @@ function createListener(msg) {
  * @private
  */
 
-function patchAssignSocket(res, callback) {
+// istanbul ignore next: node.js 0.8 patch
+function patchAssignSocket (res, callback) {
   var assignSocket = res.assignSocket
 
   if (typeof assignSocket !== 'function') return
 
   // res.on('socket', callback) is broken in 0.8
-  res.assignSocket = function _assignSocket(socket) {
+  res.assignSocket = function _assignSocket (socket) {
     assignSocket.call(this, socket)
     callback(socket)
   }
 }
+
+/**
+ * Try to require async_hooks
+ * @private
+ */
+
+function tryRequireAsyncHooks () {
+  try {
+    return require('async_hooks')
+  } catch (e) {
+    return {}
+  }
+}
+
+/**
+ * Wrap function with async resource, if possible.
+ * AsyncResource.bind static method backported.
+ * @private
+ */
+
+function wrap (fn) {
+  var res
+
+  // create anonymous resource
+  if (asyncHooks.AsyncResource) {
+    res = new asyncHooks.AsyncResource(fn.name || 'bound-anonymous-fn')
+  }
+
+  // incompatible node.js
+  if (!res || !res.runInAsyncScope) {
+    return fn
+  }
+
+  // return bound function
+  return res.runInAsyncScope.bind(res, fn, null)
+}

+ 24 - 16
express-server/node_modules/on-finished/package.json

@@ -1,19 +1,19 @@
 {
-  "_from": "on-finished@~2.3.0",
-  "_id": "on-finished@2.3.0",
+  "_from": "on-finished@2.4.1",
+  "_id": "on-finished@2.4.1",
   "_inBundle": false,
-  "_integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+  "_integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
   "_location": "/on-finished",
   "_phantomChildren": {},
   "_requested": {
-    "type": "range",
+    "type": "version",
     "registry": true,
-    "raw": "on-finished@~2.3.0",
+    "raw": "on-finished@2.4.1",
     "name": "on-finished",
     "escapedName": "on-finished",
-    "rawSpec": "~2.3.0",
+    "rawSpec": "2.4.1",
     "saveSpec": null,
-    "fetchSpec": "~2.3.0"
+    "fetchSpec": "2.4.1"
   },
   "_requiredBy": [
     "/api-express-exporter/express-prom-bundle",
@@ -23,10 +23,10 @@
     "/finalhandler",
     "/send"
   ],
-  "_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
-  "_shasum": "20f1336481b083cd75337992a16971aa2d906947",
-  "_spec": "on-finished@~2.3.0",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+  "_shasum": "58c8c44116e54845ad57f14ab10b03533184ac3f",
+  "_spec": "on-finished@2.4.1",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/jshttp/on-finished/issues"
   },
@@ -48,8 +48,15 @@
   "deprecated": false,
   "description": "Execute a callback when a request closes, finishes, or errors",
   "devDependencies": {
-    "istanbul": "0.3.9",
-    "mocha": "2.2.5"
+    "eslint": "7.32.0",
+    "eslint-config-standard": "14.1.1",
+    "eslint-plugin-import": "2.25.4",
+    "eslint-plugin-markdown": "2.2.1",
+    "eslint-plugin-node": "11.1.0",
+    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-standard": "4.1.0",
+    "mocha": "9.2.1",
+    "nyc": "15.1.0"
   },
   "engines": {
     "node": ">= 0.8"
@@ -67,9 +74,10 @@
     "url": "git+https://github.com/jshttp/on-finished.git"
   },
   "scripts": {
+    "lint": "eslint .",
     "test": "mocha --reporter spec --bail --check-leaks test/",
-    "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
-    "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
+    "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
+    "test-cov": "nyc --reporter=html --reporter=text npm test"
   },
-  "version": "2.3.0"
+  "version": "2.4.1"
 }

+ 1 - 1
express-server/node_modules/parseurl/package.json

@@ -23,7 +23,7 @@
   "_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
   "_shasum": "9da19e7bee8d12dff0513ed5b76957793bc2e8d4",
   "_spec": "parseurl@~1.3.3",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/pillarjs/parseurl/issues"
   },

+ 2 - 2
express-server/node_modules/path-to-regexp/package.json

@@ -2,7 +2,7 @@
   "_from": "path-to-regexp@0.1.7",
   "_id": "path-to-regexp@0.1.7",
   "_inBundle": false,
-  "_integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+  "_integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
   "_location": "/path-to-regexp",
   "_phantomChildren": {},
   "_requested": {
@@ -21,7 +21,7 @@
   "_resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
   "_shasum": "df604178005f522f15eb4490e7247a1bfaa67f8c",
   "_spec": "path-to-regexp@0.1.7",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "bugs": {
     "url": "https://github.com/component/path-to-regexp/issues"
   },

+ 6 - 6
express-server/node_modules/proxy-addr/package.json

@@ -1,5 +1,5 @@
 {
-  "_from": "proxy-addr@~2.0.5",
+  "_from": "proxy-addr@~2.0.7",
   "_id": "proxy-addr@2.0.7",
   "_inBundle": false,
   "_integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
@@ -8,20 +8,20 @@
   "_requested": {
     "type": "range",
     "registry": true,
-    "raw": "proxy-addr@~2.0.5",
+    "raw": "proxy-addr@~2.0.7",
     "name": "proxy-addr",
     "escapedName": "proxy-addr",
-    "rawSpec": "~2.0.5",
+    "rawSpec": "~2.0.7",
     "saveSpec": null,
-    "fetchSpec": "~2.0.5"
+    "fetchSpec": "~2.0.7"
   },
   "_requiredBy": [
     "/express"
   ],
   "_resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
   "_shasum": "f19fe69ceab311eeb94b42e70e8c2070f9ba1025",
-  "_spec": "proxy-addr@~2.0.5",
-  "_where": "C:\\Users\\brin\\Desktop\\Personnel\\FatboarProject-develop\\FatboarProject\\express-server\\node_modules\\express",
+  "_spec": "proxy-addr@~2.0.7",
+  "_where": "C:\\FatboarProject\\express-server\\node_modules\\express",
   "author": {
     "name": "Douglas Christopher Wilson",
     "email": "doug@somethingdoug.com"

+ 10 - 0
express-server/node_modules/qs/.editorconfig

@@ -8,10 +8,14 @@ charset = utf-8
 trim_trailing_whitespace = true
 insert_final_newline = true
 max_line_length = 160
+quote_type = single
 
 [test/*]
 max_line_length = off
 
+[LICENSE.md]
+indent_size = off
+
 [*.md]
 max_line_length = off
 
@@ -28,3 +32,9 @@ indent_size = 2
 [LICENSE]
 indent_size = 2
 max_line_length = off
+
+[coverage/**/*]
+indent_size = off
+indent_style = off
+indent = off
+max_line_length = off

+ 0 - 1
express-server/node_modules/qs/.eslintignore

@@ -1 +0,0 @@
-dist

+ 21 - 4
express-server/node_modules/qs/.eslintrc

@@ -3,19 +3,36 @@
 
     "extends": "@ljharb",
 
+    "ignorePatterns": [
+        "dist/",
+    ],
+
     "rules": {
         "complexity": 0,
         "consistent-return": 1,
-		"func-name-matching": 0,
+        "func-name-matching": 0,
         "id-length": [2, { "min": 1, "max": 25, "properties": "never" }],
         "indent": [2, 4],
         "max-lines-per-function": [2, { "max": 150 }],
-        "max-params": [2, 14],
+        "max-params": [2, 15],
         "max-statements": [2, 52],
         "multiline-comment-style": 0,
         "no-continue": 1,
         "no-magic-numbers": 0,
         "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
-        "operator-linebreak": [2, "before"],
-    }
+    },
+
+    "overrides": [
+        {
+            "files": "test/**",
+            "rules": {
+                "function-paren-newline": 0,
+                "max-lines-per-function": 0,
+                "max-statements": 0,
+                "no-buffer-constructor": 0,
+                "no-extend-native": 0,
+                "no-throw-literal": 0,
+            }
+        }
+    ]
 }

+ 132 - 0
express-server/node_modules/qs/CHANGELOG.md

@@ -1,3 +1,135 @@
+## **6.10.3**
+- [Fix] `parse`: ignore `__proto__` keys (#428)
+- [Robustness] `stringify`: avoid relying on a global `undefined` (#427)
+- [actions] reuse common workflows
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `object-inspect`, `tape`
+
+## **6.10.2**
+- [Fix] `stringify`: actually fix cyclic references (#426)
+- [Fix] `stringify`: avoid encoding arrayformat comma when `encodeValuesOnly = true` (#424)
+- [readme] remove travis badge; add github actions/codecov badges; update URLs
+- [Docs] add note and links for coercing primitive values (#408)
+- [actions] update codecov uploader
+- [actions] update workflows
+- [Tests] clean up stringify tests slightly
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `object-inspect`, `safe-publish-latest`, `tape`
+
+## **6.10.1**
+- [Fix] `stringify`: avoid exception on repeated object values (#402)
+
+## **6.10.0**
+- [New] `stringify`: throw on cycles, instead of an infinite loop (#395, #394, #393)
+- [New] `parse`: add `allowSparse` option for collapsing arrays with missing indices (#312)
+- [meta] fix README.md (#399)
+- [meta] only run `npm run dist` in publish, not install
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `has-symbols`, `tape`
+- [Tests] fix tests on node v0.6
+- [Tests] use `ljharb/actions/node/install` instead of `ljharb/actions/node/run`
+- [Tests] Revert "[meta] ignore eclint transitive audit warning"
+
+## **6.9.6**
+- [Fix] restore `dist` dir; mistakenly removed in d4f6c32
+
+## **6.9.5**
+- [Fix] `stringify`: do not encode parens for RFC1738
+- [Fix] `stringify`: fix arrayFormat comma with empty array/objects (#350)
+- [Refactor] `format`: remove `util.assign` call
+- [meta] add "Allow Edits" workflow; update rebase workflow
+- [actions] switch Automatic Rebase workflow to `pull_request_target` event
+- [Tests] `stringify`: add tests for #378
+- [Tests] migrate tests to Github Actions
+- [Tests] run `nyc` on all tests; use `tape` runner
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `browserify`, `mkdirp`, `object-inspect`, `tape`; add `aud`
+
+## **6.9.4**
+- [Fix] `stringify`: when `arrayFormat` is `comma`, respect `serializeDate` (#364)
+- [Refactor] `stringify`: reduce branching (part of #350)
+- [Refactor] move `maybeMap` to `utils`
+- [Dev Deps] update `browserify`, `tape`
+
+## **6.9.3**
+- [Fix] proper comma parsing of URL-encoded commas (#361)
+- [Fix] parses comma delimited array while having percent-encoded comma treated as normal text (#336)
+
+## **6.9.2**
+- [Fix] `parse`: Fix parsing array from object with `comma` true (#359)
+- [Fix] `parse`: throw a TypeError instead of an Error for bad charset (#349)
+- [meta] ignore eclint transitive audit warning
+- [meta] fix indentation in package.json
+- [meta] add tidelift marketing copy
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `object-inspect`, `has-symbols`, `tape`, `mkdirp`, `iconv-lite`
+- [actions] add automatic rebasing / merge commit blocking
+
+## **6.9.1**
+- [Fix] `parse`: with comma true, handle field that holds an array of arrays (#335)
+- [Fix] `parse`: with comma true, do not split non-string values (#334)
+- [meta] add `funding` field
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`
+- [Tests] use shared travis-ci config
+
+## **6.9.0**
+- [New] `parse`/`stringify`: Pass extra key/value argument to `decoder` (#333)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `evalmd`
+- [Tests] `parse`: add passing `arrayFormat` tests
+- [Tests] add `posttest` using `npx aud` to run `npm audit` without a lockfile
+- [Tests] up to `node` `v12.10`, `v11.15`, `v10.16`, `v8.16`
+- [Tests] `Buffer.from` in node v5.0-v5.9 and v4.0-v4.4 requires a TypedArray
+
+## **6.8.2**
+- [Fix] proper comma parsing of URL-encoded commas (#361)
+- [Fix] parses comma delimited array while having percent-encoded comma treated as normal text (#336)
+
+## **6.8.1**
+- [Fix] `parse`: Fix parsing array from object with `comma` true (#359)
+- [Fix] `parse`: throw a TypeError instead of an Error for bad charset (#349)
+- [Fix] `parse`: with comma true, handle field that holds an array of arrays (#335)
+- [fix] `parse`: with comma true, do not split non-string values (#334)
+- [meta] add tidelift marketing copy
+- [meta] add `funding` field
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `safe-publish-latest`, `evalmd`, `has-symbols`, `iconv-lite`, `mkdirp`, `object-inspect`
+- [Tests] `parse`: add passing `arrayFormat` tests
+- [Tests] use shared travis-ci configs
+- [Tests] `Buffer.from` in node v5.0-v5.9 and v4.0-v4.4 requires a TypedArray
+- [actions] add automatic rebasing / merge commit blocking
+
+## **6.8.0**
+- [New] add `depth=false` to preserve the original key; [Fix] `depth=0` should preserve the original key (#326)
+- [New] [Fix] stringify symbols and bigints
+- [Fix] ensure node 0.12 can stringify Symbols
+- [Fix] fix for an impossible situation: when the formatter is called with a non-string value
+- [Refactor] `formats`: tiny bit of cleanup.
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `browserify`, `safe-publish-latest`, `iconv-lite`, `tape`
+- [Tests] add tests for `depth=0` and `depth=false` behavior, both current and intuitive/intended (#326)
+- [Tests] use `eclint` instead of `editorconfig-tools`
+- [docs] readme: add security note
+- [meta] add github sponsorship
+- [meta] add FUNDING.yml
+- [meta] Clean up license text so it’s properly detected as BSD-3-Clause
+
+## **6.7.2**
+- [Fix] proper comma parsing of URL-encoded commas (#361)
+- [Fix] parses comma delimited array while having percent-encoded comma treated as normal text (#336)
+
+## **6.7.1**
+- [Fix] `parse`: Fix parsing array from object with `comma` true (#359)
+- [Fix] `parse`: with comma true, handle field that holds an array of arrays (#335)
+- [fix] `parse`: with comma true, do not split non-string values (#334)
+- [Fix] `parse`: throw a TypeError instead of an Error for bad charset (#349)
+- [Fix] fix for an impossible situation: when the formatter is called with a non-string value
+- [Refactor] `formats`: tiny bit of cleanup.
+- readme: add security note
+- [meta] add tidelift marketing copy
+- [meta] add `funding` field
+- [meta] add FUNDING.yml
+- [meta] Clean up license text so it’s properly detected as BSD-3-Clause
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `safe-publish-latest`, `evalmd`, `iconv-lite`, `mkdirp`, `object-inspect`, `browserify`
+- [Tests] `parse`: add passing `arrayFormat` tests
+- [Tests] use shared travis-ci configs
+- [Tests] `Buffer.from` in node v5.0-v5.9 and v4.0-v4.4 requires a TypedArray
+- [Tests] add tests for `depth=0` and `depth=false` behavior, both current and intuitive/intended
+- [Tests] use `eclint` instead of `editorconfig-tools`
+- [actions] add automatic rebasing / merge commit blocking
+
 ## **6.7.0**
 - [New] `stringify`/`parse`: add `comma` as an `arrayFormat` option (#276, #219)
 - [Fix] correctly parse nested arrays (#212)

+ 0 - 28
express-server/node_modules/qs/LICENSE

@@ -1,28 +0,0 @@
-Copyright (c) 2014 Nathan LaFreniere and other contributors.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-    * The names of any contributors may not be used to endorse or promote
-      products derived from this software without specific prior written
-      permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-                                  *   *   *
-
-The complete list of contributors can be found at: https://github.com/hapijs/qs/graphs/contributors

+ 0 - 0
express-server/node_modules/qs/README.md


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor