expressed-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/README-es.md +42 -0
  2. package/README-es.md.backup +44 -0
  3. package/README.md +41 -0
  4. package/README.md.backup +43 -0
  5. package/hooked/LICENSE +204 -0
  6. package/hooked/README.es.md +238 -0
  7. package/hooked/README.md +238 -0
  8. package/hooked/advanced-example.js +240 -0
  9. package/hooked/express-hooked.js +206 -0
  10. package/hooked/hooks.js +584 -0
  11. package/hooked/package.json +30 -0
  12. package/index.js +25 -0
  13. package/package.json +36 -0
  14. package/queued/LICENSE +201 -0
  15. package/queued/QueueSystem.js +451 -0
  16. package/queued/README.es.md +335 -0
  17. package/queued/README.md +335 -0
  18. package/queued/express-example.js +143 -0
  19. package/queued/express-integration.js +115 -0
  20. package/queued/package.json +33 -0
  21. package/router/ExpressRouter.js +247 -0
  22. package/router/ExpressRouterIntegration.js +129 -0
  23. package/router/LICENSE +201 -0
  24. package/router/README.es.md +142 -0
  25. package/router/README.md +142 -0
  26. package/router/RouteDirectoryLoader.js +299 -0
  27. package/router/RouteLoader.js +245 -0
  28. package/router/RouteMatcher.js +361 -0
  29. package/router/node_modules/.package-lock.json +876 -0
  30. package/router/node_modules/accepts/HISTORY.md +243 -0
  31. package/router/node_modules/accepts/LICENSE +23 -0
  32. package/router/node_modules/accepts/README.md +140 -0
  33. package/router/node_modules/accepts/index.js +238 -0
  34. package/router/node_modules/accepts/package.json +47 -0
  35. package/router/node_modules/array-flatten/LICENSE +21 -0
  36. package/router/node_modules/array-flatten/README.md +43 -0
  37. package/router/node_modules/array-flatten/array-flatten.js +64 -0
  38. package/router/node_modules/array-flatten/package.json +39 -0
  39. package/router/node_modules/body-parser/HISTORY.md +680 -0
  40. package/router/node_modules/body-parser/LICENSE +23 -0
  41. package/router/node_modules/body-parser/README.md +476 -0
  42. package/router/node_modules/body-parser/index.js +156 -0
  43. package/router/node_modules/body-parser/lib/read.js +205 -0
  44. package/router/node_modules/body-parser/lib/types/json.js +247 -0
  45. package/router/node_modules/body-parser/lib/types/raw.js +101 -0
  46. package/router/node_modules/body-parser/lib/types/text.js +121 -0
  47. package/router/node_modules/body-parser/lib/types/urlencoded.js +300 -0
  48. package/router/node_modules/body-parser/package.json +55 -0
  49. package/router/node_modules/bytes/History.md +97 -0
  50. package/router/node_modules/bytes/LICENSE +23 -0
  51. package/router/node_modules/bytes/Readme.md +152 -0
  52. package/router/node_modules/bytes/index.js +170 -0
  53. package/router/node_modules/bytes/package.json +42 -0
  54. package/router/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  55. package/router/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  56. package/router/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  57. package/router/node_modules/call-bind-apply-helpers/README.md +62 -0
  58. package/router/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  59. package/router/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  60. package/router/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  61. package/router/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  62. package/router/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  63. package/router/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  64. package/router/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  65. package/router/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  66. package/router/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  67. package/router/node_modules/call-bind-apply-helpers/index.js +15 -0
  68. package/router/node_modules/call-bind-apply-helpers/package.json +85 -0
  69. package/router/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  70. package/router/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  71. package/router/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  72. package/router/node_modules/call-bound/.github/FUNDING.yml +12 -0
  73. package/router/node_modules/call-bound/CHANGELOG.md +42 -0
  74. package/router/node_modules/call-bound/LICENSE +21 -0
  75. package/router/node_modules/call-bound/README.md +53 -0
  76. package/router/node_modules/call-bound/index.d.ts +94 -0
  77. package/router/node_modules/call-bound/index.js +19 -0
  78. package/router/node_modules/call-bound/package.json +99 -0
  79. package/router/node_modules/call-bound/tsconfig.json +10 -0
  80. package/router/node_modules/content-disposition/HISTORY.md +60 -0
  81. package/router/node_modules/content-disposition/LICENSE +22 -0
  82. package/router/node_modules/content-disposition/README.md +142 -0
  83. package/router/node_modules/content-disposition/index.js +458 -0
  84. package/router/node_modules/content-disposition/package.json +44 -0
  85. package/router/node_modules/content-type/HISTORY.md +29 -0
  86. package/router/node_modules/content-type/LICENSE +22 -0
  87. package/router/node_modules/content-type/README.md +94 -0
  88. package/router/node_modules/content-type/index.js +225 -0
  89. package/router/node_modules/content-type/package.json +42 -0
  90. package/router/node_modules/cookie/LICENSE +24 -0
  91. package/router/node_modules/cookie/README.md +317 -0
  92. package/router/node_modules/cookie/SECURITY.md +25 -0
  93. package/router/node_modules/cookie/index.js +335 -0
  94. package/router/node_modules/cookie/package.json +44 -0
  95. package/router/node_modules/cookie-signature/History.md +42 -0
  96. package/router/node_modules/cookie-signature/Readme.md +42 -0
  97. package/router/node_modules/cookie-signature/index.js +51 -0
  98. package/router/node_modules/cookie-signature/package.json +18 -0
  99. package/router/node_modules/debug/.coveralls.yml +1 -0
  100. package/router/node_modules/debug/CHANGELOG.md +362 -0
  101. package/router/node_modules/debug/LICENSE +19 -0
  102. package/router/node_modules/debug/Makefile +50 -0
  103. package/router/node_modules/debug/README.md +312 -0
  104. package/router/node_modules/debug/component.json +19 -0
  105. package/router/node_modules/debug/karma.conf.js +70 -0
  106. package/router/node_modules/debug/node.js +1 -0
  107. package/router/node_modules/debug/package.json +49 -0
  108. package/router/node_modules/debug/src/browser.js +185 -0
  109. package/router/node_modules/debug/src/debug.js +202 -0
  110. package/router/node_modules/debug/src/index.js +10 -0
  111. package/router/node_modules/debug/src/inspector-log.js +15 -0
  112. package/router/node_modules/debug/src/node.js +248 -0
  113. package/router/node_modules/depd/History.md +103 -0
  114. package/router/node_modules/depd/LICENSE +22 -0
  115. package/router/node_modules/depd/Readme.md +280 -0
  116. package/router/node_modules/depd/index.js +538 -0
  117. package/router/node_modules/depd/lib/browser/index.js +77 -0
  118. package/router/node_modules/depd/package.json +45 -0
  119. package/router/node_modules/destroy/LICENSE +23 -0
  120. package/router/node_modules/destroy/README.md +63 -0
  121. package/router/node_modules/destroy/index.js +209 -0
  122. package/router/node_modules/destroy/package.json +48 -0
  123. package/router/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  124. package/router/node_modules/dunder-proto/CHANGELOG.md +24 -0
  125. package/router/node_modules/dunder-proto/LICENSE +21 -0
  126. package/router/node_modules/dunder-proto/README.md +54 -0
  127. package/router/node_modules/dunder-proto/get.d.ts +5 -0
  128. package/router/node_modules/dunder-proto/get.js +30 -0
  129. package/router/node_modules/dunder-proto/package.json +76 -0
  130. package/router/node_modules/dunder-proto/set.d.ts +5 -0
  131. package/router/node_modules/dunder-proto/set.js +35 -0
  132. package/router/node_modules/dunder-proto/tsconfig.json +9 -0
  133. package/router/node_modules/ee-first/LICENSE +22 -0
  134. package/router/node_modules/ee-first/README.md +80 -0
  135. package/router/node_modules/ee-first/index.js +95 -0
  136. package/router/node_modules/ee-first/package.json +29 -0
  137. package/router/node_modules/encodeurl/LICENSE +22 -0
  138. package/router/node_modules/encodeurl/README.md +109 -0
  139. package/router/node_modules/encodeurl/index.js +60 -0
  140. package/router/node_modules/encodeurl/package.json +40 -0
  141. package/router/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  142. package/router/node_modules/es-define-property/CHANGELOG.md +29 -0
  143. package/router/node_modules/es-define-property/LICENSE +21 -0
  144. package/router/node_modules/es-define-property/README.md +49 -0
  145. package/router/node_modules/es-define-property/index.d.ts +3 -0
  146. package/router/node_modules/es-define-property/index.js +14 -0
  147. package/router/node_modules/es-define-property/package.json +81 -0
  148. package/router/node_modules/es-define-property/tsconfig.json +10 -0
  149. package/router/node_modules/es-errors/.github/FUNDING.yml +12 -0
  150. package/router/node_modules/es-errors/CHANGELOG.md +40 -0
  151. package/router/node_modules/es-errors/LICENSE +21 -0
  152. package/router/node_modules/es-errors/README.md +55 -0
  153. package/router/node_modules/es-errors/eval.d.ts +3 -0
  154. package/router/node_modules/es-errors/eval.js +4 -0
  155. package/router/node_modules/es-errors/index.d.ts +3 -0
  156. package/router/node_modules/es-errors/index.js +4 -0
  157. package/router/node_modules/es-errors/package.json +80 -0
  158. package/router/node_modules/es-errors/range.d.ts +3 -0
  159. package/router/node_modules/es-errors/range.js +4 -0
  160. package/router/node_modules/es-errors/ref.d.ts +3 -0
  161. package/router/node_modules/es-errors/ref.js +4 -0
  162. package/router/node_modules/es-errors/syntax.d.ts +3 -0
  163. package/router/node_modules/es-errors/syntax.js +4 -0
  164. package/router/node_modules/es-errors/tsconfig.json +49 -0
  165. package/router/node_modules/es-errors/type.d.ts +3 -0
  166. package/router/node_modules/es-errors/type.js +4 -0
  167. package/router/node_modules/es-errors/uri.d.ts +3 -0
  168. package/router/node_modules/es-errors/uri.js +4 -0
  169. package/router/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  170. package/router/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  171. package/router/node_modules/es-object-atoms/LICENSE +21 -0
  172. package/router/node_modules/es-object-atoms/README.md +63 -0
  173. package/router/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  174. package/router/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  175. package/router/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  176. package/router/node_modules/es-object-atoms/ToObject.js +10 -0
  177. package/router/node_modules/es-object-atoms/index.d.ts +3 -0
  178. package/router/node_modules/es-object-atoms/index.js +4 -0
  179. package/router/node_modules/es-object-atoms/isObject.d.ts +3 -0
  180. package/router/node_modules/es-object-atoms/isObject.js +6 -0
  181. package/router/node_modules/es-object-atoms/package.json +80 -0
  182. package/router/node_modules/es-object-atoms/tsconfig.json +6 -0
  183. package/router/node_modules/escape-html/LICENSE +24 -0
  184. package/router/node_modules/escape-html/Readme.md +43 -0
  185. package/router/node_modules/escape-html/index.js +78 -0
  186. package/router/node_modules/escape-html/package.json +24 -0
  187. package/router/node_modules/etag/HISTORY.md +83 -0
  188. package/router/node_modules/etag/LICENSE +22 -0
  189. package/router/node_modules/etag/README.md +159 -0
  190. package/router/node_modules/etag/index.js +131 -0
  191. package/router/node_modules/etag/package.json +47 -0
  192. package/router/node_modules/express/History.md +3667 -0
  193. package/router/node_modules/express/LICENSE +24 -0
  194. package/router/node_modules/express/Readme.md +260 -0
  195. package/router/node_modules/express/index.js +11 -0
  196. package/router/node_modules/express/lib/application.js +661 -0
  197. package/router/node_modules/express/lib/express.js +116 -0
  198. package/router/node_modules/express/lib/middleware/init.js +43 -0
  199. package/router/node_modules/express/lib/middleware/query.js +47 -0
  200. package/router/node_modules/express/lib/request.js +525 -0
  201. package/router/node_modules/express/lib/response.js +1179 -0
  202. package/router/node_modules/express/lib/router/index.js +673 -0
  203. package/router/node_modules/express/lib/router/layer.js +181 -0
  204. package/router/node_modules/express/lib/router/route.js +230 -0
  205. package/router/node_modules/express/lib/utils.js +303 -0
  206. package/router/node_modules/express/lib/view.js +182 -0
  207. package/router/node_modules/express/package.json +102 -0
  208. package/router/node_modules/express-hooked/LICENSE +204 -0
  209. package/router/node_modules/express-hooked/README.es.md +123 -0
  210. package/router/node_modules/express-hooked/README.md +123 -0
  211. package/router/node_modules/express-hooked/express-hooked.js +206 -0
  212. package/router/node_modules/express-hooked/hooks.js +584 -0
  213. package/router/node_modules/express-hooked/package.json +30 -0
  214. package/router/node_modules/finalhandler/HISTORY.md +216 -0
  215. package/router/node_modules/finalhandler/LICENSE +22 -0
  216. package/router/node_modules/finalhandler/README.md +147 -0
  217. package/router/node_modules/finalhandler/SECURITY.md +25 -0
  218. package/router/node_modules/finalhandler/index.js +341 -0
  219. package/router/node_modules/finalhandler/package.json +47 -0
  220. package/router/node_modules/forwarded/HISTORY.md +21 -0
  221. package/router/node_modules/forwarded/LICENSE +22 -0
  222. package/router/node_modules/forwarded/README.md +57 -0
  223. package/router/node_modules/forwarded/index.js +90 -0
  224. package/router/node_modules/forwarded/package.json +45 -0
  225. package/router/node_modules/fresh/HISTORY.md +70 -0
  226. package/router/node_modules/fresh/LICENSE +23 -0
  227. package/router/node_modules/fresh/README.md +119 -0
  228. package/router/node_modules/fresh/index.js +137 -0
  229. package/router/node_modules/fresh/package.json +46 -0
  230. package/router/node_modules/function-bind/.github/FUNDING.yml +12 -0
  231. package/router/node_modules/function-bind/.github/SECURITY.md +3 -0
  232. package/router/node_modules/function-bind/CHANGELOG.md +136 -0
  233. package/router/node_modules/function-bind/LICENSE +20 -0
  234. package/router/node_modules/function-bind/README.md +46 -0
  235. package/router/node_modules/function-bind/implementation.js +84 -0
  236. package/router/node_modules/function-bind/index.js +5 -0
  237. package/router/node_modules/function-bind/package.json +87 -0
  238. package/router/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  239. package/router/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  240. package/router/node_modules/get-intrinsic/LICENSE +21 -0
  241. package/router/node_modules/get-intrinsic/README.md +71 -0
  242. package/router/node_modules/get-intrinsic/index.js +378 -0
  243. package/router/node_modules/get-intrinsic/package.json +97 -0
  244. package/router/node_modules/get-proto/.github/FUNDING.yml +12 -0
  245. package/router/node_modules/get-proto/CHANGELOG.md +21 -0
  246. package/router/node_modules/get-proto/LICENSE +21 -0
  247. package/router/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  248. package/router/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  249. package/router/node_modules/get-proto/README.md +50 -0
  250. package/router/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  251. package/router/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  252. package/router/node_modules/get-proto/index.d.ts +5 -0
  253. package/router/node_modules/get-proto/index.js +27 -0
  254. package/router/node_modules/get-proto/package.json +81 -0
  255. package/router/node_modules/get-proto/tsconfig.json +9 -0
  256. package/router/node_modules/gopd/.github/FUNDING.yml +12 -0
  257. package/router/node_modules/gopd/CHANGELOG.md +45 -0
  258. package/router/node_modules/gopd/LICENSE +21 -0
  259. package/router/node_modules/gopd/README.md +40 -0
  260. package/router/node_modules/gopd/gOPD.d.ts +1 -0
  261. package/router/node_modules/gopd/gOPD.js +4 -0
  262. package/router/node_modules/gopd/index.d.ts +5 -0
  263. package/router/node_modules/gopd/index.js +15 -0
  264. package/router/node_modules/gopd/package.json +77 -0
  265. package/router/node_modules/gopd/tsconfig.json +9 -0
  266. package/router/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  267. package/router/node_modules/has-symbols/CHANGELOG.md +91 -0
  268. package/router/node_modules/has-symbols/LICENSE +21 -0
  269. package/router/node_modules/has-symbols/README.md +46 -0
  270. package/router/node_modules/has-symbols/index.d.ts +3 -0
  271. package/router/node_modules/has-symbols/index.js +14 -0
  272. package/router/node_modules/has-symbols/package.json +111 -0
  273. package/router/node_modules/has-symbols/shams.d.ts +3 -0
  274. package/router/node_modules/has-symbols/shams.js +45 -0
  275. package/router/node_modules/has-symbols/tsconfig.json +10 -0
  276. package/router/node_modules/hasown/.github/FUNDING.yml +12 -0
  277. package/router/node_modules/hasown/CHANGELOG.md +40 -0
  278. package/router/node_modules/hasown/LICENSE +21 -0
  279. package/router/node_modules/hasown/README.md +40 -0
  280. package/router/node_modules/hasown/index.d.ts +3 -0
  281. package/router/node_modules/hasown/index.js +8 -0
  282. package/router/node_modules/hasown/package.json +92 -0
  283. package/router/node_modules/hasown/tsconfig.json +6 -0
  284. package/router/node_modules/http-errors/HISTORY.md +186 -0
  285. package/router/node_modules/http-errors/LICENSE +23 -0
  286. package/router/node_modules/http-errors/README.md +169 -0
  287. package/router/node_modules/http-errors/index.js +290 -0
  288. package/router/node_modules/http-errors/package.json +54 -0
  289. package/router/node_modules/iconv-lite/Changelog.md +162 -0
  290. package/router/node_modules/iconv-lite/LICENSE +21 -0
  291. package/router/node_modules/iconv-lite/README.md +156 -0
  292. package/router/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  293. package/router/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  294. package/router/node_modules/iconv-lite/encodings/index.js +22 -0
  295. package/router/node_modules/iconv-lite/encodings/internal.js +188 -0
  296. package/router/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  297. package/router/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  298. package/router/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  299. package/router/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  300. package/router/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  301. package/router/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  302. package/router/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  303. package/router/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  304. package/router/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  305. package/router/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  306. package/router/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  307. package/router/node_modules/iconv-lite/encodings/utf16.js +177 -0
  308. package/router/node_modules/iconv-lite/encodings/utf7.js +290 -0
  309. package/router/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  310. package/router/node_modules/iconv-lite/lib/extend-node.js +217 -0
  311. package/router/node_modules/iconv-lite/lib/index.d.ts +24 -0
  312. package/router/node_modules/iconv-lite/lib/index.js +153 -0
  313. package/router/node_modules/iconv-lite/lib/streams.js +121 -0
  314. package/router/node_modules/iconv-lite/package.json +46 -0
  315. package/router/node_modules/inherits/LICENSE +16 -0
  316. package/router/node_modules/inherits/README.md +42 -0
  317. package/router/node_modules/inherits/inherits.js +9 -0
  318. package/router/node_modules/inherits/inherits_browser.js +27 -0
  319. package/router/node_modules/inherits/package.json +29 -0
  320. package/router/node_modules/ipaddr.js/LICENSE +19 -0
  321. package/router/node_modules/ipaddr.js/README.md +233 -0
  322. package/router/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  323. package/router/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  324. package/router/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  325. package/router/node_modules/ipaddr.js/package.json +35 -0
  326. package/router/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  327. package/router/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  328. package/router/node_modules/math-intrinsics/LICENSE +21 -0
  329. package/router/node_modules/math-intrinsics/README.md +50 -0
  330. package/router/node_modules/math-intrinsics/abs.d.ts +1 -0
  331. package/router/node_modules/math-intrinsics/abs.js +4 -0
  332. package/router/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  333. package/router/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  334. package/router/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  335. package/router/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  336. package/router/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  337. package/router/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  338. package/router/node_modules/math-intrinsics/floor.d.ts +1 -0
  339. package/router/node_modules/math-intrinsics/floor.js +4 -0
  340. package/router/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  341. package/router/node_modules/math-intrinsics/isFinite.js +12 -0
  342. package/router/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  343. package/router/node_modules/math-intrinsics/isInteger.js +16 -0
  344. package/router/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  345. package/router/node_modules/math-intrinsics/isNaN.js +6 -0
  346. package/router/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  347. package/router/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  348. package/router/node_modules/math-intrinsics/max.d.ts +1 -0
  349. package/router/node_modules/math-intrinsics/max.js +4 -0
  350. package/router/node_modules/math-intrinsics/min.d.ts +1 -0
  351. package/router/node_modules/math-intrinsics/min.js +4 -0
  352. package/router/node_modules/math-intrinsics/mod.d.ts +3 -0
  353. package/router/node_modules/math-intrinsics/mod.js +9 -0
  354. package/router/node_modules/math-intrinsics/package.json +86 -0
  355. package/router/node_modules/math-intrinsics/pow.d.ts +1 -0
  356. package/router/node_modules/math-intrinsics/pow.js +4 -0
  357. package/router/node_modules/math-intrinsics/round.d.ts +1 -0
  358. package/router/node_modules/math-intrinsics/round.js +4 -0
  359. package/router/node_modules/math-intrinsics/sign.d.ts +3 -0
  360. package/router/node_modules/math-intrinsics/sign.js +11 -0
  361. package/router/node_modules/math-intrinsics/tsconfig.json +3 -0
  362. package/router/node_modules/media-typer/HISTORY.md +22 -0
  363. package/router/node_modules/media-typer/LICENSE +22 -0
  364. package/router/node_modules/media-typer/README.md +81 -0
  365. package/router/node_modules/media-typer/index.js +270 -0
  366. package/router/node_modules/media-typer/package.json +26 -0
  367. package/router/node_modules/merge-descriptors/HISTORY.md +21 -0
  368. package/router/node_modules/merge-descriptors/LICENSE +23 -0
  369. package/router/node_modules/merge-descriptors/README.md +49 -0
  370. package/router/node_modules/merge-descriptors/index.js +60 -0
  371. package/router/node_modules/merge-descriptors/package.json +39 -0
  372. package/router/node_modules/methods/HISTORY.md +29 -0
  373. package/router/node_modules/methods/LICENSE +24 -0
  374. package/router/node_modules/methods/README.md +51 -0
  375. package/router/node_modules/methods/index.js +69 -0
  376. package/router/node_modules/methods/package.json +36 -0
  377. package/router/node_modules/mime/CHANGELOG.md +164 -0
  378. package/router/node_modules/mime/LICENSE +21 -0
  379. package/router/node_modules/mime/README.md +90 -0
  380. package/router/node_modules/mime/cli.js +8 -0
  381. package/router/node_modules/mime/mime.js +108 -0
  382. package/router/node_modules/mime/package.json +44 -0
  383. package/router/node_modules/mime/src/build.js +53 -0
  384. package/router/node_modules/mime/src/test.js +60 -0
  385. package/router/node_modules/mime/types.json +1 -0
  386. package/router/node_modules/mime-db/HISTORY.md +507 -0
  387. package/router/node_modules/mime-db/LICENSE +23 -0
  388. package/router/node_modules/mime-db/README.md +100 -0
  389. package/router/node_modules/mime-db/db.json +8519 -0
  390. package/router/node_modules/mime-db/index.js +12 -0
  391. package/router/node_modules/mime-db/package.json +60 -0
  392. package/router/node_modules/mime-types/HISTORY.md +397 -0
  393. package/router/node_modules/mime-types/LICENSE +23 -0
  394. package/router/node_modules/mime-types/README.md +113 -0
  395. package/router/node_modules/mime-types/index.js +188 -0
  396. package/router/node_modules/mime-types/package.json +44 -0
  397. package/router/node_modules/ms/index.js +152 -0
  398. package/router/node_modules/ms/license.md +21 -0
  399. package/router/node_modules/ms/package.json +37 -0
  400. package/router/node_modules/ms/readme.md +51 -0
  401. package/router/node_modules/negotiator/HISTORY.md +108 -0
  402. package/router/node_modules/negotiator/LICENSE +24 -0
  403. package/router/node_modules/negotiator/README.md +203 -0
  404. package/router/node_modules/negotiator/index.js +82 -0
  405. package/router/node_modules/negotiator/lib/charset.js +169 -0
  406. package/router/node_modules/negotiator/lib/encoding.js +184 -0
  407. package/router/node_modules/negotiator/lib/language.js +179 -0
  408. package/router/node_modules/negotiator/lib/mediaType.js +294 -0
  409. package/router/node_modules/negotiator/package.json +42 -0
  410. package/router/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  411. package/router/node_modules/object-inspect/CHANGELOG.md +424 -0
  412. package/router/node_modules/object-inspect/LICENSE +21 -0
  413. package/router/node_modules/object-inspect/example/all.js +23 -0
  414. package/router/node_modules/object-inspect/example/circular.js +6 -0
  415. package/router/node_modules/object-inspect/example/fn.js +5 -0
  416. package/router/node_modules/object-inspect/example/inspect.js +10 -0
  417. package/router/node_modules/object-inspect/index.js +544 -0
  418. package/router/node_modules/object-inspect/package-support.json +20 -0
  419. package/router/node_modules/object-inspect/package.json +105 -0
  420. package/router/node_modules/object-inspect/readme.markdown +84 -0
  421. package/router/node_modules/object-inspect/test-core-js.js +26 -0
  422. package/router/node_modules/object-inspect/util.inspect.js +1 -0
  423. package/router/node_modules/on-finished/HISTORY.md +98 -0
  424. package/router/node_modules/on-finished/LICENSE +23 -0
  425. package/router/node_modules/on-finished/README.md +162 -0
  426. package/router/node_modules/on-finished/index.js +234 -0
  427. package/router/node_modules/on-finished/package.json +39 -0
  428. package/router/node_modules/parseurl/HISTORY.md +58 -0
  429. package/router/node_modules/parseurl/LICENSE +24 -0
  430. package/router/node_modules/parseurl/README.md +133 -0
  431. package/router/node_modules/parseurl/index.js +158 -0
  432. package/router/node_modules/parseurl/package.json +40 -0
  433. package/router/node_modules/path-to-regexp/LICENSE +21 -0
  434. package/router/node_modules/path-to-regexp/Readme.md +35 -0
  435. package/router/node_modules/path-to-regexp/index.js +156 -0
  436. package/router/node_modules/path-to-regexp/package.json +30 -0
  437. package/router/node_modules/proxy-addr/HISTORY.md +161 -0
  438. package/router/node_modules/proxy-addr/LICENSE +22 -0
  439. package/router/node_modules/proxy-addr/README.md +139 -0
  440. package/router/node_modules/proxy-addr/index.js +327 -0
  441. package/router/node_modules/proxy-addr/package.json +47 -0
  442. package/router/node_modules/qs/.github/FUNDING.yml +12 -0
  443. package/router/node_modules/qs/.github/SECURITY.md +11 -0
  444. package/router/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  445. package/router/node_modules/qs/CHANGELOG.md +644 -0
  446. package/router/node_modules/qs/LICENSE.md +29 -0
  447. package/router/node_modules/qs/README.md +740 -0
  448. package/router/node_modules/qs/dist/qs.js +141 -0
  449. package/router/node_modules/qs/eslint.config.mjs +56 -0
  450. package/router/node_modules/qs/lib/formats.js +23 -0
  451. package/router/node_modules/qs/lib/index.js +11 -0
  452. package/router/node_modules/qs/lib/parse.js +371 -0
  453. package/router/node_modules/qs/lib/stringify.js +356 -0
  454. package/router/node_modules/qs/lib/utils.js +340 -0
  455. package/router/node_modules/qs/package.json +94 -0
  456. package/router/node_modules/range-parser/HISTORY.md +56 -0
  457. package/router/node_modules/range-parser/LICENSE +23 -0
  458. package/router/node_modules/range-parser/README.md +84 -0
  459. package/router/node_modules/range-parser/index.js +162 -0
  460. package/router/node_modules/range-parser/package.json +44 -0
  461. package/router/node_modules/raw-body/LICENSE +22 -0
  462. package/router/node_modules/raw-body/README.md +223 -0
  463. package/router/node_modules/raw-body/index.d.ts +87 -0
  464. package/router/node_modules/raw-body/index.js +336 -0
  465. package/router/node_modules/raw-body/package.json +47 -0
  466. package/router/node_modules/safe-buffer/LICENSE +21 -0
  467. package/router/node_modules/safe-buffer/README.md +584 -0
  468. package/router/node_modules/safe-buffer/index.d.ts +187 -0
  469. package/router/node_modules/safe-buffer/index.js +65 -0
  470. package/router/node_modules/safe-buffer/package.json +51 -0
  471. package/router/node_modules/safer-buffer/LICENSE +21 -0
  472. package/router/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  473. package/router/node_modules/safer-buffer/Readme.md +156 -0
  474. package/router/node_modules/safer-buffer/dangerous.js +58 -0
  475. package/router/node_modules/safer-buffer/package.json +34 -0
  476. package/router/node_modules/safer-buffer/safer.js +77 -0
  477. package/router/node_modules/safer-buffer/tests.js +406 -0
  478. package/router/node_modules/send/HISTORY.md +538 -0
  479. package/router/node_modules/send/LICENSE +23 -0
  480. package/router/node_modules/send/README.md +327 -0
  481. package/router/node_modules/send/SECURITY.md +24 -0
  482. package/router/node_modules/send/index.js +1142 -0
  483. package/router/node_modules/send/node_modules/ms/index.js +162 -0
  484. package/router/node_modules/send/node_modules/ms/license.md +21 -0
  485. package/router/node_modules/send/node_modules/ms/package.json +38 -0
  486. package/router/node_modules/send/node_modules/ms/readme.md +59 -0
  487. package/router/node_modules/send/package.json +62 -0
  488. package/router/node_modules/serve-static/HISTORY.md +493 -0
  489. package/router/node_modules/serve-static/LICENSE +25 -0
  490. package/router/node_modules/serve-static/README.md +257 -0
  491. package/router/node_modules/serve-static/index.js +209 -0
  492. package/router/node_modules/serve-static/package.json +42 -0
  493. package/router/node_modules/setprototypeof/LICENSE +13 -0
  494. package/router/node_modules/setprototypeof/README.md +31 -0
  495. package/router/node_modules/setprototypeof/index.d.ts +2 -0
  496. package/router/node_modules/setprototypeof/index.js +17 -0
  497. package/router/node_modules/setprototypeof/package.json +38 -0
  498. package/router/node_modules/side-channel/.github/FUNDING.yml +12 -0
  499. package/router/node_modules/side-channel/CHANGELOG.md +110 -0
  500. package/router/node_modules/side-channel/LICENSE +21 -0
  501. package/router/node_modules/side-channel/README.md +61 -0
  502. package/router/node_modules/side-channel/index.d.ts +14 -0
  503. package/router/node_modules/side-channel/index.js +43 -0
  504. package/router/node_modules/side-channel/package.json +85 -0
  505. package/router/node_modules/side-channel/tsconfig.json +9 -0
  506. package/router/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  507. package/router/node_modules/side-channel-list/CHANGELOG.md +15 -0
  508. package/router/node_modules/side-channel-list/LICENSE +21 -0
  509. package/router/node_modules/side-channel-list/README.md +62 -0
  510. package/router/node_modules/side-channel-list/index.d.ts +13 -0
  511. package/router/node_modules/side-channel-list/index.js +113 -0
  512. package/router/node_modules/side-channel-list/list.d.ts +14 -0
  513. package/router/node_modules/side-channel-list/package.json +77 -0
  514. package/router/node_modules/side-channel-list/tsconfig.json +9 -0
  515. package/router/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  516. package/router/node_modules/side-channel-map/CHANGELOG.md +22 -0
  517. package/router/node_modules/side-channel-map/LICENSE +21 -0
  518. package/router/node_modules/side-channel-map/README.md +62 -0
  519. package/router/node_modules/side-channel-map/index.d.ts +15 -0
  520. package/router/node_modules/side-channel-map/index.js +68 -0
  521. package/router/node_modules/side-channel-map/package.json +80 -0
  522. package/router/node_modules/side-channel-map/tsconfig.json +9 -0
  523. package/router/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  524. package/router/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  525. package/router/node_modules/side-channel-weakmap/LICENSE +21 -0
  526. package/router/node_modules/side-channel-weakmap/README.md +62 -0
  527. package/router/node_modules/side-channel-weakmap/index.d.ts +15 -0
  528. package/router/node_modules/side-channel-weakmap/index.js +84 -0
  529. package/router/node_modules/side-channel-weakmap/package.json +87 -0
  530. package/router/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  531. package/router/node_modules/statuses/HISTORY.md +87 -0
  532. package/router/node_modules/statuses/LICENSE +23 -0
  533. package/router/node_modules/statuses/README.md +139 -0
  534. package/router/node_modules/statuses/codes.json +65 -0
  535. package/router/node_modules/statuses/index.js +146 -0
  536. package/router/node_modules/statuses/package.json +49 -0
  537. package/router/node_modules/toidentifier/HISTORY.md +9 -0
  538. package/router/node_modules/toidentifier/LICENSE +21 -0
  539. package/router/node_modules/toidentifier/README.md +61 -0
  540. package/router/node_modules/toidentifier/index.js +32 -0
  541. package/router/node_modules/toidentifier/package.json +38 -0
  542. package/router/node_modules/type-is/HISTORY.md +259 -0
  543. package/router/node_modules/type-is/LICENSE +23 -0
  544. package/router/node_modules/type-is/README.md +170 -0
  545. package/router/node_modules/type-is/index.js +266 -0
  546. package/router/node_modules/type-is/package.json +45 -0
  547. package/router/node_modules/unpipe/HISTORY.md +4 -0
  548. package/router/node_modules/unpipe/LICENSE +22 -0
  549. package/router/node_modules/unpipe/README.md +43 -0
  550. package/router/node_modules/unpipe/index.js +69 -0
  551. package/router/node_modules/unpipe/package.json +27 -0
  552. package/router/node_modules/utils-merge/LICENSE +20 -0
  553. package/router/node_modules/utils-merge/README.md +34 -0
  554. package/router/node_modules/utils-merge/index.js +23 -0
  555. package/router/node_modules/utils-merge/package.json +40 -0
  556. package/router/node_modules/vary/HISTORY.md +39 -0
  557. package/router/node_modules/vary/LICENSE +22 -0
  558. package/router/node_modules/vary/README.md +101 -0
  559. package/router/node_modules/vary/index.js +149 -0
  560. package/router/node_modules/vary/package.json +43 -0
  561. package/router/package.json +36 -0
@@ -0,0 +1,84 @@
1
+ # object-inspect <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
2
+
3
+ string representations of objects in node and the browser
4
+
5
+ [![github actions][actions-image]][actions-url]
6
+ [![coverage][codecov-image]][codecov-url]
7
+ [![License][license-image]][license-url]
8
+ [![Downloads][downloads-image]][downloads-url]
9
+
10
+ [![npm badge][npm-badge-png]][package-url]
11
+
12
+ # example
13
+
14
+ ## circular
15
+
16
+ ``` js
17
+ var inspect = require('object-inspect');
18
+ var obj = { a: 1, b: [3,4] };
19
+ obj.c = obj;
20
+ console.log(inspect(obj));
21
+ ```
22
+
23
+ ## dom element
24
+
25
+ ``` js
26
+ var inspect = require('object-inspect');
27
+
28
+ var d = document.createElement('div');
29
+ d.setAttribute('id', 'beep');
30
+ d.innerHTML = '<b>wooo</b><i>iiiii</i>';
31
+
32
+ console.log(inspect([ d, { a: 3, b : 4, c: [5,6,[7,[8,[9]]]] } ]));
33
+ ```
34
+
35
+ output:
36
+
37
+ ```
38
+ [ <div id="beep">...</div>, { a: 3, b: 4, c: [ 5, 6, [ 7, [ 8, [ ... ] ] ] ] } ]
39
+ ```
40
+
41
+ # methods
42
+
43
+ ``` js
44
+ var inspect = require('object-inspect')
45
+ ```
46
+
47
+ ## var s = inspect(obj, opts={})
48
+
49
+ Return a string `s` with the string representation of `obj` up to a depth of `opts.depth`.
50
+
51
+ Additional options:
52
+ - `quoteStyle`: must be "single" or "double", if present. Default `'single'` for strings, `'double'` for HTML elements.
53
+ - `maxStringLength`: must be `0`, a positive integer, `Infinity`, or `null`, if present. Default `Infinity`.
54
+ - `customInspect`: When `true`, a custom inspect method function will be invoked (either undere the `util.inspect.custom` symbol, or the `inspect` property). When the string `'symbol'`, only the symbol method will be invoked. Default `true`.
55
+ - `indent`: must be "\t", `null`, or a positive integer. Default `null`.
56
+ - `numericSeparator`: must be a boolean, if present. Default `false`. If `true`, all numbers will be printed with numeric separators (eg, `1234.5678` will be printed as `'1_234.567_8'`)
57
+
58
+ # install
59
+
60
+ With [npm](https://npmjs.org) do:
61
+
62
+ ```
63
+ npm install object-inspect
64
+ ```
65
+
66
+ # license
67
+
68
+ MIT
69
+
70
+ [package-url]: https://npmjs.org/package/object-inspect
71
+ [npm-version-svg]: https://versionbadg.es/inspect-js/object-inspect.svg
72
+ [deps-svg]: https://david-dm.org/inspect-js/object-inspect.svg
73
+ [deps-url]: https://david-dm.org/inspect-js/object-inspect
74
+ [dev-deps-svg]: https://david-dm.org/inspect-js/object-inspect/dev-status.svg
75
+ [dev-deps-url]: https://david-dm.org/inspect-js/object-inspect#info=devDependencies
76
+ [npm-badge-png]: https://nodei.co/npm/object-inspect.png?downloads=true&stars=true
77
+ [license-image]: https://img.shields.io/npm/l/object-inspect.svg
78
+ [license-url]: LICENSE
79
+ [downloads-image]: https://img.shields.io/npm/dm/object-inspect.svg
80
+ [downloads-url]: https://npm-stat.com/charts.html?package=object-inspect
81
+ [codecov-image]: https://codecov.io/gh/inspect-js/object-inspect/branch/main/graphs/badge.svg
82
+ [codecov-url]: https://app.codecov.io/gh/inspect-js/object-inspect/
83
+ [actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/object-inspect
84
+ [actions-url]: https://github.com/inspect-js/object-inspect/actions
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ require('core-js');
4
+
5
+ var inspect = require('./');
6
+ var test = require('tape');
7
+
8
+ test('Maps', function (t) {
9
+ t.equal(inspect(new Map([[1, 2]])), 'Map (1) {1 => 2}');
10
+ t.end();
11
+ });
12
+
13
+ test('WeakMaps', function (t) {
14
+ t.equal(inspect(new WeakMap([[{}, 2]])), 'WeakMap { ? }');
15
+ t.end();
16
+ });
17
+
18
+ test('Sets', function (t) {
19
+ t.equal(inspect(new Set([[1, 2]])), 'Set (1) {[ 1, 2 ]}');
20
+ t.end();
21
+ });
22
+
23
+ test('WeakSets', function (t) {
24
+ t.equal(inspect(new WeakSet([[1, 2]])), 'WeakSet { ? }');
25
+ t.end();
26
+ });
@@ -0,0 +1 @@
1
+ module.exports = require('util').inspect;
@@ -0,0 +1,98 @@
1
+ 2.4.1 / 2022-02-22
2
+ ==================
3
+
4
+ * Fix error on early async hooks implementations
5
+
6
+ 2.4.0 / 2022-02-21
7
+ ==================
8
+
9
+ * Prevent loss of async hooks context
10
+
11
+ 2.3.0 / 2015-05-26
12
+ ==================
13
+
14
+ * Add defined behavior for HTTP `CONNECT` requests
15
+ * Add defined behavior for HTTP `Upgrade` requests
16
+ * deps: ee-first@1.1.1
17
+
18
+ 2.2.1 / 2015-04-22
19
+ ==================
20
+
21
+ * Fix `isFinished(req)` when data buffered
22
+
23
+ 2.2.0 / 2014-12-22
24
+ ==================
25
+
26
+ * Add message object to callback arguments
27
+
28
+ 2.1.1 / 2014-10-22
29
+ ==================
30
+
31
+ * Fix handling of pipelined requests
32
+
33
+ 2.1.0 / 2014-08-16
34
+ ==================
35
+
36
+ * Check if `socket` is detached
37
+ * Return `undefined` for `isFinished` if state unknown
38
+
39
+ 2.0.0 / 2014-08-16
40
+ ==================
41
+
42
+ * Add `isFinished` function
43
+ * Move to `jshttp` organization
44
+ * Remove support for plain socket argument
45
+ * Rename to `on-finished`
46
+ * Support both `req` and `res` as arguments
47
+ * deps: ee-first@1.0.5
48
+
49
+ 1.2.2 / 2014-06-10
50
+ ==================
51
+
52
+ * Reduce listeners added to emitters
53
+ - avoids "event emitter leak" warnings when used multiple times on same request
54
+
55
+ 1.2.1 / 2014-06-08
56
+ ==================
57
+
58
+ * Fix returned value when already finished
59
+
60
+ 1.2.0 / 2014-06-05
61
+ ==================
62
+
63
+ * Call callback when called on already-finished socket
64
+
65
+ 1.1.4 / 2014-05-27
66
+ ==================
67
+
68
+ * Support node.js 0.8
69
+
70
+ 1.1.3 / 2014-04-30
71
+ ==================
72
+
73
+ * Make sure errors passed as instanceof `Error`
74
+
75
+ 1.1.2 / 2014-04-18
76
+ ==================
77
+
78
+ * Default the `socket` to passed-in object
79
+
80
+ 1.1.1 / 2014-01-16
81
+ ==================
82
+
83
+ * Rename module to `finished`
84
+
85
+ 1.1.0 / 2013-12-25
86
+ ==================
87
+
88
+ * Call callback when called on already-errored socket
89
+
90
+ 1.0.1 / 2013-12-20
91
+ ==================
92
+
93
+ * Actually pass the error to the callback
94
+
95
+ 1.0.0 / 2013-12-20
96
+ ==================
97
+
98
+ * Initial release
@@ -0,0 +1,23 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2013 Jonathan Ong <me@jongleberry.com>
4
+ Copyright (c) 2014 Douglas Christopher Wilson <doug@somethingdoug.com>
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining
7
+ a copy of this software and associated documentation files (the
8
+ 'Software'), to deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify, merge, publish,
10
+ distribute, sublicense, and/or sell copies of the Software, and to
11
+ permit persons to whom the Software is furnished to do so, subject to
12
+ the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,162 @@
1
+ # on-finished
2
+
3
+ [![NPM Version][npm-version-image]][npm-url]
4
+ [![NPM Downloads][npm-downloads-image]][npm-url]
5
+ [![Node.js Version][node-image]][node-url]
6
+ [![Build Status][ci-image]][ci-url]
7
+ [![Coverage Status][coveralls-image]][coveralls-url]
8
+
9
+ Execute a callback when a HTTP request closes, finishes, or errors.
10
+
11
+ ## Install
12
+
13
+ This is a [Node.js](https://nodejs.org/en/) module available through the
14
+ [npm registry](https://www.npmjs.com/). Installation is done using the
15
+ [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
16
+
17
+ ```sh
18
+ $ npm install on-finished
19
+ ```
20
+
21
+ ## API
22
+
23
+ ```js
24
+ var onFinished = require('on-finished')
25
+ ```
26
+
27
+ ### onFinished(res, listener)
28
+
29
+ Attach a listener to listen for the response to finish. The listener will
30
+ be invoked only once when the response finished. If the response finished
31
+ to an error, the first argument will contain the error. If the response
32
+ has already finished, the listener will be invoked.
33
+
34
+ Listening to the end of a response would be used to close things associated
35
+ with the response, like open files.
36
+
37
+ Listener is invoked as `listener(err, res)`.
38
+
39
+ <!-- eslint-disable handle-callback-err -->
40
+
41
+ ```js
42
+ onFinished(res, function (err, res) {
43
+ // clean up open fds, etc.
44
+ // err contains the error if request error'd
45
+ })
46
+ ```
47
+
48
+ ### onFinished(req, listener)
49
+
50
+ Attach a listener to listen for the request to finish. The listener will
51
+ be invoked only once when the request finished. If the request finished
52
+ to an error, the first argument will contain the error. If the request
53
+ has already finished, the listener will be invoked.
54
+
55
+ Listening to the end of a request would be used to know when to continue
56
+ after reading the data.
57
+
58
+ Listener is invoked as `listener(err, req)`.
59
+
60
+ <!-- eslint-disable handle-callback-err -->
61
+
62
+ ```js
63
+ var data = ''
64
+
65
+ req.setEncoding('utf8')
66
+ req.on('data', function (str) {
67
+ data += str
68
+ })
69
+
70
+ onFinished(req, function (err, req) {
71
+ // data is read unless there is err
72
+ })
73
+ ```
74
+
75
+ ### onFinished.isFinished(res)
76
+
77
+ Determine if `res` is already finished. This would be useful to check and
78
+ not even start certain operations if the response has already finished.
79
+
80
+ ### onFinished.isFinished(req)
81
+
82
+ Determine if `req` is already finished. This would be useful to check and
83
+ not even start certain operations if the request has already finished.
84
+
85
+ ## Special Node.js requests
86
+
87
+ ### HTTP CONNECT method
88
+
89
+ The meaning of the `CONNECT` method from RFC 7231, section 4.3.6:
90
+
91
+ > The CONNECT method requests that the recipient establish a tunnel to
92
+ > the destination origin server identified by the request-target and,
93
+ > if successful, thereafter restrict its behavior to blind forwarding
94
+ > of packets, in both directions, until the tunnel is closed. Tunnels
95
+ > are commonly used to create an end-to-end virtual connection, through
96
+ > one or more proxies, which can then be secured using TLS (Transport
97
+ > Layer Security, [RFC5246]).
98
+
99
+ In Node.js, these request objects come from the `'connect'` event on
100
+ the HTTP server.
101
+
102
+ When this module is used on a HTTP `CONNECT` request, the request is
103
+ considered "finished" immediately, **due to limitations in the Node.js
104
+ interface**. This means if the `CONNECT` request contains a request entity,
105
+ the request will be considered "finished" even before it has been read.
106
+
107
+ There is no such thing as a response object to a `CONNECT` request in
108
+ Node.js, so there is no support for one.
109
+
110
+ ### HTTP Upgrade request
111
+
112
+ The meaning of the `Upgrade` header from RFC 7230, section 6.1:
113
+
114
+ > The "Upgrade" header field is intended to provide a simple mechanism
115
+ > for transitioning from HTTP/1.1 to some other protocol on the same
116
+ > connection.
117
+
118
+ In Node.js, these request objects come from the `'upgrade'` event on
119
+ the HTTP server.
120
+
121
+ When this module is used on a HTTP request with an `Upgrade` header, the
122
+ request is considered "finished" immediately, **due to limitations in the
123
+ Node.js interface**. This means if the `Upgrade` request contains a request
124
+ entity, the request will be considered "finished" even before it has been
125
+ read.
126
+
127
+ There is no such thing as a response object to a `Upgrade` request in
128
+ Node.js, so there is no support for one.
129
+
130
+ ## Example
131
+
132
+ The following code ensures that file descriptors are always closed
133
+ once the response finishes.
134
+
135
+ ```js
136
+ var destroy = require('destroy')
137
+ var fs = require('fs')
138
+ var http = require('http')
139
+ var onFinished = require('on-finished')
140
+
141
+ http.createServer(function onRequest (req, res) {
142
+ var stream = fs.createReadStream('package.json')
143
+ stream.pipe(res)
144
+ onFinished(res, function () {
145
+ destroy(stream)
146
+ })
147
+ })
148
+ ```
149
+
150
+ ## License
151
+
152
+ [MIT](LICENSE)
153
+
154
+ [ci-image]: https://badgen.net/github/checks/jshttp/on-finished/master?label=ci
155
+ [ci-url]: https://github.com/jshttp/on-finished/actions/workflows/ci.yml
156
+ [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/on-finished/master
157
+ [coveralls-url]: https://coveralls.io/r/jshttp/on-finished?branch=master
158
+ [node-image]: https://badgen.net/npm/node/on-finished
159
+ [node-url]: https://nodejs.org/en/download
160
+ [npm-downloads-image]: https://badgen.net/npm/dm/on-finished
161
+ [npm-url]: https://npmjs.org/package/on-finished
162
+ [npm-version-image]: https://badgen.net/npm/v/on-finished
@@ -0,0 +1,234 @@
1
+ /*!
2
+ * on-finished
3
+ * Copyright(c) 2013 Jonathan Ong
4
+ * Copyright(c) 2014 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */
7
+
8
+ 'use strict'
9
+
10
+ /**
11
+ * Module exports.
12
+ * @public
13
+ */
14
+
15
+ module.exports = onFinished
16
+ module.exports.isFinished = isFinished
17
+
18
+ /**
19
+ * Module dependencies.
20
+ * @private
21
+ */
22
+
23
+ var asyncHooks = tryRequireAsyncHooks()
24
+ var first = require('ee-first')
25
+
26
+ /**
27
+ * Variables.
28
+ * @private
29
+ */
30
+
31
+ /* istanbul ignore next */
32
+ var defer = typeof setImmediate === 'function'
33
+ ? setImmediate
34
+ : function (fn) { process.nextTick(fn.bind.apply(fn, arguments)) }
35
+
36
+ /**
37
+ * Invoke callback when the response has finished, useful for
38
+ * cleaning up resources afterwards.
39
+ *
40
+ * @param {object} msg
41
+ * @param {function} listener
42
+ * @return {object}
43
+ * @public
44
+ */
45
+
46
+ function onFinished (msg, listener) {
47
+ if (isFinished(msg) !== false) {
48
+ defer(listener, null, msg)
49
+ return msg
50
+ }
51
+
52
+ // attach the listener to the message
53
+ attachListener(msg, wrap(listener))
54
+
55
+ return msg
56
+ }
57
+
58
+ /**
59
+ * Determine if message is already finished.
60
+ *
61
+ * @param {object} msg
62
+ * @return {boolean}
63
+ * @public
64
+ */
65
+
66
+ function isFinished (msg) {
67
+ var socket = msg.socket
68
+
69
+ if (typeof msg.finished === 'boolean') {
70
+ // OutgoingMessage
71
+ return Boolean(msg.finished || (socket && !socket.writable))
72
+ }
73
+
74
+ if (typeof msg.complete === 'boolean') {
75
+ // IncomingMessage
76
+ return Boolean(msg.upgrade || !socket || !socket.readable || (msg.complete && !msg.readable))
77
+ }
78
+
79
+ // don't know
80
+ return undefined
81
+ }
82
+
83
+ /**
84
+ * Attach a finished listener to the message.
85
+ *
86
+ * @param {object} msg
87
+ * @param {function} callback
88
+ * @private
89
+ */
90
+
91
+ function attachFinishedListener (msg, callback) {
92
+ var eeMsg
93
+ var eeSocket
94
+ var finished = false
95
+
96
+ function onFinish (error) {
97
+ eeMsg.cancel()
98
+ eeSocket.cancel()
99
+
100
+ finished = true
101
+ callback(error)
102
+ }
103
+
104
+ // finished on first message event
105
+ eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish)
106
+
107
+ function onSocket (socket) {
108
+ // remove listener
109
+ msg.removeListener('socket', onSocket)
110
+
111
+ if (finished) return
112
+ if (eeMsg !== eeSocket) return
113
+
114
+ // finished on first socket event
115
+ eeSocket = first([[socket, 'error', 'close']], onFinish)
116
+ }
117
+
118
+ if (msg.socket) {
119
+ // socket already assigned
120
+ onSocket(msg.socket)
121
+ return
122
+ }
123
+
124
+ // wait for socket to be assigned
125
+ msg.on('socket', onSocket)
126
+
127
+ if (msg.socket === undefined) {
128
+ // istanbul ignore next: node.js 0.8 patch
129
+ patchAssignSocket(msg, onSocket)
130
+ }
131
+ }
132
+
133
+ /**
134
+ * Attach the listener to the message.
135
+ *
136
+ * @param {object} msg
137
+ * @return {function}
138
+ * @private
139
+ */
140
+
141
+ function attachListener (msg, listener) {
142
+ var attached = msg.__onFinished
143
+
144
+ // create a private single listener with queue
145
+ if (!attached || !attached.queue) {
146
+ attached = msg.__onFinished = createListener(msg)
147
+ attachFinishedListener(msg, attached)
148
+ }
149
+
150
+ attached.queue.push(listener)
151
+ }
152
+
153
+ /**
154
+ * Create listener on message.
155
+ *
156
+ * @param {object} msg
157
+ * @return {function}
158
+ * @private
159
+ */
160
+
161
+ function createListener (msg) {
162
+ function listener (err) {
163
+ if (msg.__onFinished === listener) msg.__onFinished = null
164
+ if (!listener.queue) return
165
+
166
+ var queue = listener.queue
167
+ listener.queue = null
168
+
169
+ for (var i = 0; i < queue.length; i++) {
170
+ queue[i](err, msg)
171
+ }
172
+ }
173
+
174
+ listener.queue = []
175
+
176
+ return listener
177
+ }
178
+
179
+ /**
180
+ * Patch ServerResponse.prototype.assignSocket for node.js 0.8.
181
+ *
182
+ * @param {ServerResponse} res
183
+ * @param {function} callback
184
+ * @private
185
+ */
186
+
187
+ // istanbul ignore next: node.js 0.8 patch
188
+ function patchAssignSocket (res, callback) {
189
+ var assignSocket = res.assignSocket
190
+
191
+ if (typeof assignSocket !== 'function') return
192
+
193
+ // res.on('socket', callback) is broken in 0.8
194
+ res.assignSocket = function _assignSocket (socket) {
195
+ assignSocket.call(this, socket)
196
+ callback(socket)
197
+ }
198
+ }
199
+
200
+ /**
201
+ * Try to require async_hooks
202
+ * @private
203
+ */
204
+
205
+ function tryRequireAsyncHooks () {
206
+ try {
207
+ return require('async_hooks')
208
+ } catch (e) {
209
+ return {}
210
+ }
211
+ }
212
+
213
+ /**
214
+ * Wrap function with async resource, if possible.
215
+ * AsyncResource.bind static method backported.
216
+ * @private
217
+ */
218
+
219
+ function wrap (fn) {
220
+ var res
221
+
222
+ // create anonymous resource
223
+ if (asyncHooks.AsyncResource) {
224
+ res = new asyncHooks.AsyncResource(fn.name || 'bound-anonymous-fn')
225
+ }
226
+
227
+ // incompatible node.js
228
+ if (!res || !res.runInAsyncScope) {
229
+ return fn
230
+ }
231
+
232
+ // return bound function
233
+ return res.runInAsyncScope.bind(res, fn, null)
234
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "on-finished",
3
+ "description": "Execute a callback when a request closes, finishes, or errors",
4
+ "version": "2.4.1",
5
+ "contributors": [
6
+ "Douglas Christopher Wilson <doug@somethingdoug.com>",
7
+ "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"
8
+ ],
9
+ "license": "MIT",
10
+ "repository": "jshttp/on-finished",
11
+ "dependencies": {
12
+ "ee-first": "1.1.1"
13
+ },
14
+ "devDependencies": {
15
+ "eslint": "7.32.0",
16
+ "eslint-config-standard": "14.1.1",
17
+ "eslint-plugin-import": "2.25.4",
18
+ "eslint-plugin-markdown": "2.2.1",
19
+ "eslint-plugin-node": "11.1.0",
20
+ "eslint-plugin-promise": "5.2.0",
21
+ "eslint-plugin-standard": "4.1.0",
22
+ "mocha": "9.2.1",
23
+ "nyc": "15.1.0"
24
+ },
25
+ "engines": {
26
+ "node": ">= 0.8"
27
+ },
28
+ "files": [
29
+ "HISTORY.md",
30
+ "LICENSE",
31
+ "index.js"
32
+ ],
33
+ "scripts": {
34
+ "lint": "eslint .",
35
+ "test": "mocha --reporter spec --bail --check-leaks test/",
36
+ "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
37
+ "test-cov": "nyc --reporter=html --reporter=text npm test"
38
+ }
39
+ }