dcs02 1.1.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 (597) hide show
  1. package/index.html +659 -0
  2. package/package.json +19 -0
  3. package/service/node_modules/.package-lock.json +845 -0
  4. package/service/node_modules/accepts/HISTORY.md +250 -0
  5. package/service/node_modules/accepts/LICENSE +23 -0
  6. package/service/node_modules/accepts/README.md +140 -0
  7. package/service/node_modules/accepts/index.js +238 -0
  8. package/service/node_modules/accepts/package.json +47 -0
  9. package/service/node_modules/body-parser/LICENSE +23 -0
  10. package/service/node_modules/body-parser/README.md +494 -0
  11. package/service/node_modules/body-parser/index.js +71 -0
  12. package/service/node_modules/body-parser/lib/read.js +247 -0
  13. package/service/node_modules/body-parser/lib/types/json.js +158 -0
  14. package/service/node_modules/body-parser/lib/types/raw.js +42 -0
  15. package/service/node_modules/body-parser/lib/types/text.js +36 -0
  16. package/service/node_modules/body-parser/lib/types/urlencoded.js +142 -0
  17. package/service/node_modules/body-parser/lib/utils.js +98 -0
  18. package/service/node_modules/body-parser/package.json +52 -0
  19. package/service/node_modules/bytes/History.md +97 -0
  20. package/service/node_modules/bytes/LICENSE +23 -0
  21. package/service/node_modules/bytes/Readme.md +152 -0
  22. package/service/node_modules/bytes/index.js +170 -0
  23. package/service/node_modules/bytes/package.json +42 -0
  24. package/service/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  25. package/service/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  26. package/service/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  27. package/service/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  28. package/service/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  29. package/service/node_modules/call-bind-apply-helpers/README.md +62 -0
  30. package/service/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  31. package/service/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  32. package/service/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  33. package/service/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  34. package/service/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  35. package/service/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  36. package/service/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  37. package/service/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  38. package/service/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  39. package/service/node_modules/call-bind-apply-helpers/index.js +15 -0
  40. package/service/node_modules/call-bind-apply-helpers/package.json +85 -0
  41. package/service/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  42. package/service/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  43. package/service/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  44. package/service/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  45. package/service/node_modules/call-bound/.eslintrc +13 -0
  46. package/service/node_modules/call-bound/.github/FUNDING.yml +12 -0
  47. package/service/node_modules/call-bound/.nycrc +9 -0
  48. package/service/node_modules/call-bound/CHANGELOG.md +42 -0
  49. package/service/node_modules/call-bound/LICENSE +21 -0
  50. package/service/node_modules/call-bound/README.md +53 -0
  51. package/service/node_modules/call-bound/index.d.ts +94 -0
  52. package/service/node_modules/call-bound/index.js +19 -0
  53. package/service/node_modules/call-bound/package.json +99 -0
  54. package/service/node_modules/call-bound/test/index.js +61 -0
  55. package/service/node_modules/call-bound/tsconfig.json +10 -0
  56. package/service/node_modules/content-disposition/HISTORY.md +72 -0
  57. package/service/node_modules/content-disposition/LICENSE +22 -0
  58. package/service/node_modules/content-disposition/README.md +142 -0
  59. package/service/node_modules/content-disposition/index.js +458 -0
  60. package/service/node_modules/content-disposition/package.json +43 -0
  61. package/service/node_modules/content-type/HISTORY.md +29 -0
  62. package/service/node_modules/content-type/LICENSE +22 -0
  63. package/service/node_modules/content-type/README.md +94 -0
  64. package/service/node_modules/content-type/index.js +225 -0
  65. package/service/node_modules/content-type/package.json +42 -0
  66. package/service/node_modules/cookie/LICENSE +24 -0
  67. package/service/node_modules/cookie/README.md +317 -0
  68. package/service/node_modules/cookie/SECURITY.md +25 -0
  69. package/service/node_modules/cookie/index.js +335 -0
  70. package/service/node_modules/cookie/package.json +44 -0
  71. package/service/node_modules/cookie-signature/History.md +70 -0
  72. package/service/node_modules/cookie-signature/LICENSE +22 -0
  73. package/service/node_modules/cookie-signature/Readme.md +23 -0
  74. package/service/node_modules/cookie-signature/index.js +47 -0
  75. package/service/node_modules/cookie-signature/package.json +24 -0
  76. package/service/node_modules/cors/LICENSE +22 -0
  77. package/service/node_modules/cors/README.md +277 -0
  78. package/service/node_modules/cors/lib/index.js +238 -0
  79. package/service/node_modules/cors/package.json +42 -0
  80. package/service/node_modules/debug/LICENSE +20 -0
  81. package/service/node_modules/debug/README.md +481 -0
  82. package/service/node_modules/debug/package.json +64 -0
  83. package/service/node_modules/debug/src/browser.js +272 -0
  84. package/service/node_modules/debug/src/common.js +292 -0
  85. package/service/node_modules/debug/src/index.js +10 -0
  86. package/service/node_modules/debug/src/node.js +263 -0
  87. package/service/node_modules/depd/History.md +103 -0
  88. package/service/node_modules/depd/LICENSE +22 -0
  89. package/service/node_modules/depd/Readme.md +280 -0
  90. package/service/node_modules/depd/index.js +538 -0
  91. package/service/node_modules/depd/lib/browser/index.js +77 -0
  92. package/service/node_modules/depd/package.json +45 -0
  93. package/service/node_modules/dunder-proto/.eslintrc +5 -0
  94. package/service/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  95. package/service/node_modules/dunder-proto/.nycrc +13 -0
  96. package/service/node_modules/dunder-proto/CHANGELOG.md +24 -0
  97. package/service/node_modules/dunder-proto/LICENSE +21 -0
  98. package/service/node_modules/dunder-proto/README.md +54 -0
  99. package/service/node_modules/dunder-proto/get.d.ts +5 -0
  100. package/service/node_modules/dunder-proto/get.js +30 -0
  101. package/service/node_modules/dunder-proto/package.json +76 -0
  102. package/service/node_modules/dunder-proto/set.d.ts +5 -0
  103. package/service/node_modules/dunder-proto/set.js +35 -0
  104. package/service/node_modules/dunder-proto/test/get.js +34 -0
  105. package/service/node_modules/dunder-proto/test/index.js +4 -0
  106. package/service/node_modules/dunder-proto/test/set.js +50 -0
  107. package/service/node_modules/dunder-proto/tsconfig.json +9 -0
  108. package/service/node_modules/ee-first/LICENSE +22 -0
  109. package/service/node_modules/ee-first/README.md +80 -0
  110. package/service/node_modules/ee-first/index.js +95 -0
  111. package/service/node_modules/ee-first/package.json +29 -0
  112. package/service/node_modules/encodeurl/LICENSE +22 -0
  113. package/service/node_modules/encodeurl/README.md +109 -0
  114. package/service/node_modules/encodeurl/index.js +60 -0
  115. package/service/node_modules/encodeurl/package.json +40 -0
  116. package/service/node_modules/es-define-property/.eslintrc +13 -0
  117. package/service/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  118. package/service/node_modules/es-define-property/.nycrc +9 -0
  119. package/service/node_modules/es-define-property/CHANGELOG.md +29 -0
  120. package/service/node_modules/es-define-property/LICENSE +21 -0
  121. package/service/node_modules/es-define-property/README.md +49 -0
  122. package/service/node_modules/es-define-property/index.d.ts +3 -0
  123. package/service/node_modules/es-define-property/index.js +14 -0
  124. package/service/node_modules/es-define-property/package.json +81 -0
  125. package/service/node_modules/es-define-property/test/index.js +56 -0
  126. package/service/node_modules/es-define-property/tsconfig.json +10 -0
  127. package/service/node_modules/es-errors/.eslintrc +5 -0
  128. package/service/node_modules/es-errors/.github/FUNDING.yml +12 -0
  129. package/service/node_modules/es-errors/CHANGELOG.md +40 -0
  130. package/service/node_modules/es-errors/LICENSE +21 -0
  131. package/service/node_modules/es-errors/README.md +55 -0
  132. package/service/node_modules/es-errors/eval.d.ts +3 -0
  133. package/service/node_modules/es-errors/eval.js +4 -0
  134. package/service/node_modules/es-errors/index.d.ts +3 -0
  135. package/service/node_modules/es-errors/index.js +4 -0
  136. package/service/node_modules/es-errors/package.json +80 -0
  137. package/service/node_modules/es-errors/range.d.ts +3 -0
  138. package/service/node_modules/es-errors/range.js +4 -0
  139. package/service/node_modules/es-errors/ref.d.ts +3 -0
  140. package/service/node_modules/es-errors/ref.js +4 -0
  141. package/service/node_modules/es-errors/syntax.d.ts +3 -0
  142. package/service/node_modules/es-errors/syntax.js +4 -0
  143. package/service/node_modules/es-errors/test/index.js +19 -0
  144. package/service/node_modules/es-errors/tsconfig.json +49 -0
  145. package/service/node_modules/es-errors/type.d.ts +3 -0
  146. package/service/node_modules/es-errors/type.js +4 -0
  147. package/service/node_modules/es-errors/uri.d.ts +3 -0
  148. package/service/node_modules/es-errors/uri.js +4 -0
  149. package/service/node_modules/es-object-atoms/.eslintrc +16 -0
  150. package/service/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  151. package/service/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  152. package/service/node_modules/es-object-atoms/LICENSE +21 -0
  153. package/service/node_modules/es-object-atoms/README.md +63 -0
  154. package/service/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  155. package/service/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  156. package/service/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  157. package/service/node_modules/es-object-atoms/ToObject.js +10 -0
  158. package/service/node_modules/es-object-atoms/index.d.ts +3 -0
  159. package/service/node_modules/es-object-atoms/index.js +4 -0
  160. package/service/node_modules/es-object-atoms/isObject.d.ts +3 -0
  161. package/service/node_modules/es-object-atoms/isObject.js +6 -0
  162. package/service/node_modules/es-object-atoms/package.json +80 -0
  163. package/service/node_modules/es-object-atoms/test/index.js +38 -0
  164. package/service/node_modules/es-object-atoms/tsconfig.json +6 -0
  165. package/service/node_modules/escape-html/LICENSE +24 -0
  166. package/service/node_modules/escape-html/Readme.md +43 -0
  167. package/service/node_modules/escape-html/index.js +78 -0
  168. package/service/node_modules/escape-html/package.json +24 -0
  169. package/service/node_modules/etag/HISTORY.md +83 -0
  170. package/service/node_modules/etag/LICENSE +22 -0
  171. package/service/node_modules/etag/README.md +159 -0
  172. package/service/node_modules/etag/index.js +131 -0
  173. package/service/node_modules/etag/package.json +47 -0
  174. package/service/node_modules/express/LICENSE +24 -0
  175. package/service/node_modules/express/Readme.md +276 -0
  176. package/service/node_modules/express/index.js +11 -0
  177. package/service/node_modules/express/lib/application.js +631 -0
  178. package/service/node_modules/express/lib/express.js +81 -0
  179. package/service/node_modules/express/lib/request.js +514 -0
  180. package/service/node_modules/express/lib/response.js +1053 -0
  181. package/service/node_modules/express/lib/utils.js +271 -0
  182. package/service/node_modules/express/lib/view.js +205 -0
  183. package/service/node_modules/express/package.json +99 -0
  184. package/service/node_modules/finalhandler/HISTORY.md +239 -0
  185. package/service/node_modules/finalhandler/LICENSE +22 -0
  186. package/service/node_modules/finalhandler/README.md +150 -0
  187. package/service/node_modules/finalhandler/index.js +293 -0
  188. package/service/node_modules/finalhandler/package.json +47 -0
  189. package/service/node_modules/forwarded/HISTORY.md +21 -0
  190. package/service/node_modules/forwarded/LICENSE +22 -0
  191. package/service/node_modules/forwarded/README.md +57 -0
  192. package/service/node_modules/forwarded/index.js +90 -0
  193. package/service/node_modules/forwarded/package.json +45 -0
  194. package/service/node_modules/fresh/HISTORY.md +80 -0
  195. package/service/node_modules/fresh/LICENSE +23 -0
  196. package/service/node_modules/fresh/README.md +117 -0
  197. package/service/node_modules/fresh/index.js +136 -0
  198. package/service/node_modules/fresh/package.json +46 -0
  199. package/service/node_modules/function-bind/.eslintrc +21 -0
  200. package/service/node_modules/function-bind/.github/FUNDING.yml +12 -0
  201. package/service/node_modules/function-bind/.github/SECURITY.md +3 -0
  202. package/service/node_modules/function-bind/.nycrc +13 -0
  203. package/service/node_modules/function-bind/CHANGELOG.md +136 -0
  204. package/service/node_modules/function-bind/LICENSE +20 -0
  205. package/service/node_modules/function-bind/README.md +46 -0
  206. package/service/node_modules/function-bind/implementation.js +84 -0
  207. package/service/node_modules/function-bind/index.js +5 -0
  208. package/service/node_modules/function-bind/package.json +87 -0
  209. package/service/node_modules/function-bind/test/.eslintrc +9 -0
  210. package/service/node_modules/function-bind/test/index.js +252 -0
  211. package/service/node_modules/get-intrinsic/.eslintrc +42 -0
  212. package/service/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  213. package/service/node_modules/get-intrinsic/.nycrc +9 -0
  214. package/service/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  215. package/service/node_modules/get-intrinsic/LICENSE +21 -0
  216. package/service/node_modules/get-intrinsic/README.md +71 -0
  217. package/service/node_modules/get-intrinsic/index.js +378 -0
  218. package/service/node_modules/get-intrinsic/package.json +97 -0
  219. package/service/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  220. package/service/node_modules/get-proto/.eslintrc +10 -0
  221. package/service/node_modules/get-proto/.github/FUNDING.yml +12 -0
  222. package/service/node_modules/get-proto/.nycrc +9 -0
  223. package/service/node_modules/get-proto/CHANGELOG.md +21 -0
  224. package/service/node_modules/get-proto/LICENSE +21 -0
  225. package/service/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  226. package/service/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  227. package/service/node_modules/get-proto/README.md +50 -0
  228. package/service/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  229. package/service/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  230. package/service/node_modules/get-proto/index.d.ts +5 -0
  231. package/service/node_modules/get-proto/index.js +27 -0
  232. package/service/node_modules/get-proto/package.json +81 -0
  233. package/service/node_modules/get-proto/test/index.js +68 -0
  234. package/service/node_modules/get-proto/tsconfig.json +9 -0
  235. package/service/node_modules/gopd/.eslintrc +16 -0
  236. package/service/node_modules/gopd/.github/FUNDING.yml +12 -0
  237. package/service/node_modules/gopd/CHANGELOG.md +45 -0
  238. package/service/node_modules/gopd/LICENSE +21 -0
  239. package/service/node_modules/gopd/README.md +40 -0
  240. package/service/node_modules/gopd/gOPD.d.ts +1 -0
  241. package/service/node_modules/gopd/gOPD.js +4 -0
  242. package/service/node_modules/gopd/index.d.ts +5 -0
  243. package/service/node_modules/gopd/index.js +15 -0
  244. package/service/node_modules/gopd/package.json +77 -0
  245. package/service/node_modules/gopd/test/index.js +36 -0
  246. package/service/node_modules/gopd/tsconfig.json +9 -0
  247. package/service/node_modules/has-symbols/.eslintrc +11 -0
  248. package/service/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  249. package/service/node_modules/has-symbols/.nycrc +9 -0
  250. package/service/node_modules/has-symbols/CHANGELOG.md +91 -0
  251. package/service/node_modules/has-symbols/LICENSE +21 -0
  252. package/service/node_modules/has-symbols/README.md +46 -0
  253. package/service/node_modules/has-symbols/index.d.ts +3 -0
  254. package/service/node_modules/has-symbols/index.js +14 -0
  255. package/service/node_modules/has-symbols/package.json +111 -0
  256. package/service/node_modules/has-symbols/shams.d.ts +3 -0
  257. package/service/node_modules/has-symbols/shams.js +45 -0
  258. package/service/node_modules/has-symbols/test/index.js +22 -0
  259. package/service/node_modules/has-symbols/test/shams/core-js.js +29 -0
  260. package/service/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  261. package/service/node_modules/has-symbols/test/tests.js +58 -0
  262. package/service/node_modules/has-symbols/tsconfig.json +10 -0
  263. package/service/node_modules/hasown/.eslintrc +5 -0
  264. package/service/node_modules/hasown/.github/FUNDING.yml +12 -0
  265. package/service/node_modules/hasown/.nycrc +13 -0
  266. package/service/node_modules/hasown/CHANGELOG.md +40 -0
  267. package/service/node_modules/hasown/LICENSE +21 -0
  268. package/service/node_modules/hasown/README.md +40 -0
  269. package/service/node_modules/hasown/index.d.ts +3 -0
  270. package/service/node_modules/hasown/index.js +8 -0
  271. package/service/node_modules/hasown/package.json +92 -0
  272. package/service/node_modules/hasown/tsconfig.json +6 -0
  273. package/service/node_modules/http-errors/HISTORY.md +186 -0
  274. package/service/node_modules/http-errors/LICENSE +23 -0
  275. package/service/node_modules/http-errors/README.md +169 -0
  276. package/service/node_modules/http-errors/index.js +290 -0
  277. package/service/node_modules/http-errors/package.json +54 -0
  278. package/service/node_modules/iconv-lite/LICENSE +21 -0
  279. package/service/node_modules/iconv-lite/README.md +138 -0
  280. package/service/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  281. package/service/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  282. package/service/node_modules/iconv-lite/encodings/index.js +23 -0
  283. package/service/node_modules/iconv-lite/encodings/internal.js +218 -0
  284. package/service/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  285. package/service/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  286. package/service/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  287. package/service/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  288. package/service/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  289. package/service/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  290. package/service/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  291. package/service/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  292. package/service/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  293. package/service/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  294. package/service/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  295. package/service/node_modules/iconv-lite/encodings/utf16.js +187 -0
  296. package/service/node_modules/iconv-lite/encodings/utf32.js +307 -0
  297. package/service/node_modules/iconv-lite/encodings/utf7.js +283 -0
  298. package/service/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  299. package/service/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  300. package/service/node_modules/iconv-lite/lib/index.d.ts +129 -0
  301. package/service/node_modules/iconv-lite/lib/index.js +182 -0
  302. package/service/node_modules/iconv-lite/lib/streams.js +105 -0
  303. package/service/node_modules/iconv-lite/package.json +70 -0
  304. package/service/node_modules/iconv-lite/types/encodings.d.ts +423 -0
  305. package/service/node_modules/inherits/LICENSE +16 -0
  306. package/service/node_modules/inherits/README.md +42 -0
  307. package/service/node_modules/inherits/inherits.js +9 -0
  308. package/service/node_modules/inherits/inherits_browser.js +27 -0
  309. package/service/node_modules/inherits/package.json +29 -0
  310. package/service/node_modules/ipaddr.js/LICENSE +19 -0
  311. package/service/node_modules/ipaddr.js/README.md +233 -0
  312. package/service/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  313. package/service/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  314. package/service/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  315. package/service/node_modules/ipaddr.js/package.json +35 -0
  316. package/service/node_modules/is-promise/LICENSE +19 -0
  317. package/service/node_modules/is-promise/index.d.ts +2 -0
  318. package/service/node_modules/is-promise/index.js +6 -0
  319. package/service/node_modules/is-promise/index.mjs +3 -0
  320. package/service/node_modules/is-promise/package.json +30 -0
  321. package/service/node_modules/is-promise/readme.md +33 -0
  322. package/service/node_modules/math-intrinsics/.eslintrc +16 -0
  323. package/service/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  324. package/service/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  325. package/service/node_modules/math-intrinsics/LICENSE +21 -0
  326. package/service/node_modules/math-intrinsics/README.md +50 -0
  327. package/service/node_modules/math-intrinsics/abs.d.ts +1 -0
  328. package/service/node_modules/math-intrinsics/abs.js +4 -0
  329. package/service/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  330. package/service/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  331. package/service/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  332. package/service/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  333. package/service/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  334. package/service/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  335. package/service/node_modules/math-intrinsics/floor.d.ts +1 -0
  336. package/service/node_modules/math-intrinsics/floor.js +4 -0
  337. package/service/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  338. package/service/node_modules/math-intrinsics/isFinite.js +12 -0
  339. package/service/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  340. package/service/node_modules/math-intrinsics/isInteger.js +16 -0
  341. package/service/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  342. package/service/node_modules/math-intrinsics/isNaN.js +6 -0
  343. package/service/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  344. package/service/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  345. package/service/node_modules/math-intrinsics/max.d.ts +1 -0
  346. package/service/node_modules/math-intrinsics/max.js +4 -0
  347. package/service/node_modules/math-intrinsics/min.d.ts +1 -0
  348. package/service/node_modules/math-intrinsics/min.js +4 -0
  349. package/service/node_modules/math-intrinsics/mod.d.ts +3 -0
  350. package/service/node_modules/math-intrinsics/mod.js +9 -0
  351. package/service/node_modules/math-intrinsics/package.json +86 -0
  352. package/service/node_modules/math-intrinsics/pow.d.ts +1 -0
  353. package/service/node_modules/math-intrinsics/pow.js +4 -0
  354. package/service/node_modules/math-intrinsics/round.d.ts +1 -0
  355. package/service/node_modules/math-intrinsics/round.js +4 -0
  356. package/service/node_modules/math-intrinsics/sign.d.ts +3 -0
  357. package/service/node_modules/math-intrinsics/sign.js +11 -0
  358. package/service/node_modules/math-intrinsics/test/index.js +192 -0
  359. package/service/node_modules/math-intrinsics/tsconfig.json +3 -0
  360. package/service/node_modules/media-typer/HISTORY.md +50 -0
  361. package/service/node_modules/media-typer/LICENSE +22 -0
  362. package/service/node_modules/media-typer/README.md +93 -0
  363. package/service/node_modules/media-typer/index.js +143 -0
  364. package/service/node_modules/media-typer/package.json +33 -0
  365. package/service/node_modules/merge-descriptors/index.d.ts +11 -0
  366. package/service/node_modules/merge-descriptors/index.js +26 -0
  367. package/service/node_modules/merge-descriptors/license +11 -0
  368. package/service/node_modules/merge-descriptors/package.json +50 -0
  369. package/service/node_modules/merge-descriptors/readme.md +55 -0
  370. package/service/node_modules/mime-db/HISTORY.md +541 -0
  371. package/service/node_modules/mime-db/LICENSE +23 -0
  372. package/service/node_modules/mime-db/README.md +109 -0
  373. package/service/node_modules/mime-db/db.json +9342 -0
  374. package/service/node_modules/mime-db/index.js +12 -0
  375. package/service/node_modules/mime-db/package.json +56 -0
  376. package/service/node_modules/mime-types/HISTORY.md +428 -0
  377. package/service/node_modules/mime-types/LICENSE +23 -0
  378. package/service/node_modules/mime-types/README.md +126 -0
  379. package/service/node_modules/mime-types/index.js +211 -0
  380. package/service/node_modules/mime-types/mimeScore.js +57 -0
  381. package/service/node_modules/mime-types/package.json +49 -0
  382. package/service/node_modules/ms/index.js +162 -0
  383. package/service/node_modules/ms/license.md +21 -0
  384. package/service/node_modules/ms/package.json +38 -0
  385. package/service/node_modules/ms/readme.md +59 -0
  386. package/service/node_modules/negotiator/HISTORY.md +114 -0
  387. package/service/node_modules/negotiator/LICENSE +24 -0
  388. package/service/node_modules/negotiator/README.md +212 -0
  389. package/service/node_modules/negotiator/index.js +83 -0
  390. package/service/node_modules/negotiator/lib/charset.js +169 -0
  391. package/service/node_modules/negotiator/lib/encoding.js +205 -0
  392. package/service/node_modules/negotiator/lib/language.js +179 -0
  393. package/service/node_modules/negotiator/lib/mediaType.js +294 -0
  394. package/service/node_modules/negotiator/package.json +43 -0
  395. package/service/node_modules/object-assign/index.js +90 -0
  396. package/service/node_modules/object-assign/license +21 -0
  397. package/service/node_modules/object-assign/package.json +42 -0
  398. package/service/node_modules/object-assign/readme.md +61 -0
  399. package/service/node_modules/object-inspect/.eslintrc +53 -0
  400. package/service/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  401. package/service/node_modules/object-inspect/.nycrc +13 -0
  402. package/service/node_modules/object-inspect/CHANGELOG.md +424 -0
  403. package/service/node_modules/object-inspect/LICENSE +21 -0
  404. package/service/node_modules/object-inspect/example/all.js +23 -0
  405. package/service/node_modules/object-inspect/example/circular.js +6 -0
  406. package/service/node_modules/object-inspect/example/fn.js +5 -0
  407. package/service/node_modules/object-inspect/example/inspect.js +10 -0
  408. package/service/node_modules/object-inspect/index.js +544 -0
  409. package/service/node_modules/object-inspect/package-support.json +20 -0
  410. package/service/node_modules/object-inspect/package.json +105 -0
  411. package/service/node_modules/object-inspect/readme.markdown +84 -0
  412. package/service/node_modules/object-inspect/test/bigint.js +58 -0
  413. package/service/node_modules/object-inspect/test/browser/dom.js +15 -0
  414. package/service/node_modules/object-inspect/test/circular.js +16 -0
  415. package/service/node_modules/object-inspect/test/deep.js +12 -0
  416. package/service/node_modules/object-inspect/test/element.js +53 -0
  417. package/service/node_modules/object-inspect/test/err.js +48 -0
  418. package/service/node_modules/object-inspect/test/fakes.js +29 -0
  419. package/service/node_modules/object-inspect/test/fn.js +76 -0
  420. package/service/node_modules/object-inspect/test/global.js +17 -0
  421. package/service/node_modules/object-inspect/test/has.js +15 -0
  422. package/service/node_modules/object-inspect/test/holes.js +15 -0
  423. package/service/node_modules/object-inspect/test/indent-option.js +271 -0
  424. package/service/node_modules/object-inspect/test/inspect.js +139 -0
  425. package/service/node_modules/object-inspect/test/lowbyte.js +12 -0
  426. package/service/node_modules/object-inspect/test/number.js +58 -0
  427. package/service/node_modules/object-inspect/test/quoteStyle.js +26 -0
  428. package/service/node_modules/object-inspect/test/toStringTag.js +40 -0
  429. package/service/node_modules/object-inspect/test/undef.js +12 -0
  430. package/service/node_modules/object-inspect/test/values.js +261 -0
  431. package/service/node_modules/object-inspect/test-core-js.js +26 -0
  432. package/service/node_modules/object-inspect/util.inspect.js +1 -0
  433. package/service/node_modules/on-finished/HISTORY.md +98 -0
  434. package/service/node_modules/on-finished/LICENSE +23 -0
  435. package/service/node_modules/on-finished/README.md +162 -0
  436. package/service/node_modules/on-finished/index.js +234 -0
  437. package/service/node_modules/on-finished/package.json +39 -0
  438. package/service/node_modules/once/LICENSE +15 -0
  439. package/service/node_modules/once/README.md +79 -0
  440. package/service/node_modules/once/once.js +42 -0
  441. package/service/node_modules/once/package.json +33 -0
  442. package/service/node_modules/parseurl/HISTORY.md +58 -0
  443. package/service/node_modules/parseurl/LICENSE +24 -0
  444. package/service/node_modules/parseurl/README.md +133 -0
  445. package/service/node_modules/parseurl/index.js +158 -0
  446. package/service/node_modules/parseurl/package.json +40 -0
  447. package/service/node_modules/path-to-regexp/LICENSE +21 -0
  448. package/service/node_modules/path-to-regexp/Readme.md +224 -0
  449. package/service/node_modules/path-to-regexp/dist/index.d.ts +144 -0
  450. package/service/node_modules/path-to-regexp/dist/index.js +409 -0
  451. package/service/node_modules/path-to-regexp/dist/index.js.map +1 -0
  452. package/service/node_modules/path-to-regexp/package.json +64 -0
  453. package/service/node_modules/proxy-addr/HISTORY.md +161 -0
  454. package/service/node_modules/proxy-addr/LICENSE +22 -0
  455. package/service/node_modules/proxy-addr/README.md +139 -0
  456. package/service/node_modules/proxy-addr/index.js +327 -0
  457. package/service/node_modules/proxy-addr/package.json +47 -0
  458. package/service/node_modules/qs/.editorconfig +46 -0
  459. package/service/node_modules/qs/.github/FUNDING.yml +12 -0
  460. package/service/node_modules/qs/.github/SECURITY.md +11 -0
  461. package/service/node_modules/qs/.github/THREAT_MODEL.md +78 -0
  462. package/service/node_modules/qs/.nycrc +13 -0
  463. package/service/node_modules/qs/CHANGELOG.md +631 -0
  464. package/service/node_modules/qs/LICENSE.md +29 -0
  465. package/service/node_modules/qs/README.md +733 -0
  466. package/service/node_modules/qs/dist/qs.js +141 -0
  467. package/service/node_modules/qs/eslint.config.mjs +56 -0
  468. package/service/node_modules/qs/lib/formats.js +23 -0
  469. package/service/node_modules/qs/lib/index.js +11 -0
  470. package/service/node_modules/qs/lib/parse.js +360 -0
  471. package/service/node_modules/qs/lib/stringify.js +356 -0
  472. package/service/node_modules/qs/lib/utils.js +320 -0
  473. package/service/node_modules/qs/package.json +94 -0
  474. package/service/node_modules/qs/test/empty-keys-cases.js +267 -0
  475. package/service/node_modules/qs/test/parse.js +1396 -0
  476. package/service/node_modules/qs/test/stringify.js +1310 -0
  477. package/service/node_modules/qs/test/utils.js +381 -0
  478. package/service/node_modules/range-parser/HISTORY.md +56 -0
  479. package/service/node_modules/range-parser/LICENSE +23 -0
  480. package/service/node_modules/range-parser/README.md +84 -0
  481. package/service/node_modules/range-parser/index.js +162 -0
  482. package/service/node_modules/range-parser/package.json +44 -0
  483. package/service/node_modules/raw-body/LICENSE +22 -0
  484. package/service/node_modules/raw-body/README.md +223 -0
  485. package/service/node_modules/raw-body/index.d.ts +85 -0
  486. package/service/node_modules/raw-body/index.js +336 -0
  487. package/service/node_modules/raw-body/package.json +46 -0
  488. package/service/node_modules/router/HISTORY.md +228 -0
  489. package/service/node_modules/router/LICENSE +23 -0
  490. package/service/node_modules/router/README.md +416 -0
  491. package/service/node_modules/router/index.js +748 -0
  492. package/service/node_modules/router/lib/layer.js +247 -0
  493. package/service/node_modules/router/lib/route.js +242 -0
  494. package/service/node_modules/router/package.json +44 -0
  495. package/service/node_modules/safer-buffer/LICENSE +21 -0
  496. package/service/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  497. package/service/node_modules/safer-buffer/Readme.md +156 -0
  498. package/service/node_modules/safer-buffer/dangerous.js +58 -0
  499. package/service/node_modules/safer-buffer/package.json +34 -0
  500. package/service/node_modules/safer-buffer/safer.js +77 -0
  501. package/service/node_modules/safer-buffer/tests.js +406 -0
  502. package/service/node_modules/send/LICENSE +23 -0
  503. package/service/node_modules/send/README.md +317 -0
  504. package/service/node_modules/send/index.js +997 -0
  505. package/service/node_modules/send/package.json +63 -0
  506. package/service/node_modules/serve-static/LICENSE +25 -0
  507. package/service/node_modules/serve-static/README.md +253 -0
  508. package/service/node_modules/serve-static/index.js +208 -0
  509. package/service/node_modules/serve-static/package.json +44 -0
  510. package/service/node_modules/setprototypeof/LICENSE +13 -0
  511. package/service/node_modules/setprototypeof/README.md +31 -0
  512. package/service/node_modules/setprototypeof/index.d.ts +2 -0
  513. package/service/node_modules/setprototypeof/index.js +17 -0
  514. package/service/node_modules/setprototypeof/package.json +38 -0
  515. package/service/node_modules/setprototypeof/test/index.js +24 -0
  516. package/service/node_modules/side-channel/.editorconfig +9 -0
  517. package/service/node_modules/side-channel/.eslintrc +12 -0
  518. package/service/node_modules/side-channel/.github/FUNDING.yml +12 -0
  519. package/service/node_modules/side-channel/.nycrc +13 -0
  520. package/service/node_modules/side-channel/CHANGELOG.md +110 -0
  521. package/service/node_modules/side-channel/LICENSE +21 -0
  522. package/service/node_modules/side-channel/README.md +61 -0
  523. package/service/node_modules/side-channel/index.d.ts +14 -0
  524. package/service/node_modules/side-channel/index.js +43 -0
  525. package/service/node_modules/side-channel/package.json +85 -0
  526. package/service/node_modules/side-channel/test/index.js +104 -0
  527. package/service/node_modules/side-channel/tsconfig.json +9 -0
  528. package/service/node_modules/side-channel-list/.editorconfig +9 -0
  529. package/service/node_modules/side-channel-list/.eslintrc +11 -0
  530. package/service/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  531. package/service/node_modules/side-channel-list/.nycrc +13 -0
  532. package/service/node_modules/side-channel-list/CHANGELOG.md +15 -0
  533. package/service/node_modules/side-channel-list/LICENSE +21 -0
  534. package/service/node_modules/side-channel-list/README.md +62 -0
  535. package/service/node_modules/side-channel-list/index.d.ts +13 -0
  536. package/service/node_modules/side-channel-list/index.js +113 -0
  537. package/service/node_modules/side-channel-list/list.d.ts +14 -0
  538. package/service/node_modules/side-channel-list/package.json +77 -0
  539. package/service/node_modules/side-channel-list/test/index.js +104 -0
  540. package/service/node_modules/side-channel-list/tsconfig.json +9 -0
  541. package/service/node_modules/side-channel-map/.editorconfig +9 -0
  542. package/service/node_modules/side-channel-map/.eslintrc +11 -0
  543. package/service/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  544. package/service/node_modules/side-channel-map/.nycrc +13 -0
  545. package/service/node_modules/side-channel-map/CHANGELOG.md +22 -0
  546. package/service/node_modules/side-channel-map/LICENSE +21 -0
  547. package/service/node_modules/side-channel-map/README.md +62 -0
  548. package/service/node_modules/side-channel-map/index.d.ts +15 -0
  549. package/service/node_modules/side-channel-map/index.js +68 -0
  550. package/service/node_modules/side-channel-map/package.json +80 -0
  551. package/service/node_modules/side-channel-map/test/index.js +114 -0
  552. package/service/node_modules/side-channel-map/tsconfig.json +9 -0
  553. package/service/node_modules/side-channel-weakmap/.editorconfig +9 -0
  554. package/service/node_modules/side-channel-weakmap/.eslintrc +12 -0
  555. package/service/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  556. package/service/node_modules/side-channel-weakmap/.nycrc +13 -0
  557. package/service/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  558. package/service/node_modules/side-channel-weakmap/LICENSE +21 -0
  559. package/service/node_modules/side-channel-weakmap/README.md +62 -0
  560. package/service/node_modules/side-channel-weakmap/index.d.ts +15 -0
  561. package/service/node_modules/side-channel-weakmap/index.js +84 -0
  562. package/service/node_modules/side-channel-weakmap/package.json +87 -0
  563. package/service/node_modules/side-channel-weakmap/test/index.js +114 -0
  564. package/service/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  565. package/service/node_modules/statuses/HISTORY.md +87 -0
  566. package/service/node_modules/statuses/LICENSE +23 -0
  567. package/service/node_modules/statuses/README.md +139 -0
  568. package/service/node_modules/statuses/codes.json +65 -0
  569. package/service/node_modules/statuses/index.js +146 -0
  570. package/service/node_modules/statuses/package.json +49 -0
  571. package/service/node_modules/toidentifier/HISTORY.md +9 -0
  572. package/service/node_modules/toidentifier/LICENSE +21 -0
  573. package/service/node_modules/toidentifier/README.md +61 -0
  574. package/service/node_modules/toidentifier/index.js +32 -0
  575. package/service/node_modules/toidentifier/package.json +38 -0
  576. package/service/node_modules/type-is/HISTORY.md +292 -0
  577. package/service/node_modules/type-is/LICENSE +23 -0
  578. package/service/node_modules/type-is/README.md +198 -0
  579. package/service/node_modules/type-is/index.js +250 -0
  580. package/service/node_modules/type-is/package.json +47 -0
  581. package/service/node_modules/unpipe/HISTORY.md +4 -0
  582. package/service/node_modules/unpipe/LICENSE +22 -0
  583. package/service/node_modules/unpipe/README.md +43 -0
  584. package/service/node_modules/unpipe/index.js +69 -0
  585. package/service/node_modules/unpipe/package.json +27 -0
  586. package/service/node_modules/vary/HISTORY.md +39 -0
  587. package/service/node_modules/vary/LICENSE +22 -0
  588. package/service/node_modules/vary/README.md +101 -0
  589. package/service/node_modules/vary/index.js +149 -0
  590. package/service/node_modules/vary/package.json +43 -0
  591. package/service/node_modules/wrappy/LICENSE +15 -0
  592. package/service/node_modules/wrappy/README.md +36 -0
  593. package/service/node_modules/wrappy/package.json +29 -0
  594. package/service/node_modules/wrappy/wrappy.js +33 -0
  595. package/service/package-lock.json +854 -0
  596. package/service/package.json +16 -0
  597. package/service/service.js +107 -0
@@ -0,0 +1,748 @@
1
+ /*!
2
+ * router
3
+ * Copyright(c) 2013 Roman Shtylman
4
+ * Copyright(c) 2014-2022 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */
7
+
8
+ 'use strict'
9
+
10
+ /**
11
+ * Module dependencies.
12
+ * @private
13
+ */
14
+
15
+ const isPromise = require('is-promise')
16
+ const Layer = require('./lib/layer')
17
+ const { METHODS } = require('node:http')
18
+ const parseUrl = require('parseurl')
19
+ const Route = require('./lib/route')
20
+ const debug = require('debug')('router')
21
+ const deprecate = require('depd')('router')
22
+
23
+ /**
24
+ * Module variables.
25
+ * @private
26
+ */
27
+
28
+ const slice = Array.prototype.slice
29
+ const flatten = Array.prototype.flat
30
+ const methods = METHODS.map((method) => method.toLowerCase())
31
+
32
+ /**
33
+ * Expose `Router`.
34
+ */
35
+
36
+ module.exports = Router
37
+
38
+ /**
39
+ * Expose `Route`.
40
+ */
41
+
42
+ module.exports.Route = Route
43
+
44
+ /**
45
+ * Initialize a new `Router` with the given `options`.
46
+ *
47
+ * @param {object} [options]
48
+ * @return {Router} which is a callable function
49
+ * @public
50
+ */
51
+
52
+ function Router (options) {
53
+ if (!(this instanceof Router)) {
54
+ return new Router(options)
55
+ }
56
+
57
+ const opts = options || {}
58
+
59
+ function router (req, res, next) {
60
+ router.handle(req, res, next)
61
+ }
62
+
63
+ // inherit from the correct prototype
64
+ Object.setPrototypeOf(router, this)
65
+
66
+ router.caseSensitive = opts.caseSensitive
67
+ router.mergeParams = opts.mergeParams
68
+ router.params = {}
69
+ router.strict = opts.strict
70
+ router.stack = []
71
+
72
+ return router
73
+ }
74
+
75
+ /**
76
+ * Router prototype inherits from a Function.
77
+ */
78
+
79
+ /* istanbul ignore next */
80
+ Router.prototype = function () {}
81
+
82
+ /**
83
+ * Map the given param placeholder `name`(s) to the given callback.
84
+ *
85
+ * Parameter mapping is used to provide pre-conditions to routes
86
+ * which use normalized placeholders. For example a _:user_id_ parameter
87
+ * could automatically load a user's information from the database without
88
+ * any additional code.
89
+ *
90
+ * The callback uses the same signature as middleware, the only difference
91
+ * being that the value of the placeholder is passed, in this case the _id_
92
+ * of the user. Once the `next()` function is invoked, just like middleware
93
+ * it will continue on to execute the route, or subsequent parameter functions.
94
+ *
95
+ * Just like in middleware, you must either respond to the request or call next
96
+ * to avoid stalling the request.
97
+ *
98
+ * router.param('user_id', function(req, res, next, id){
99
+ * User.find(id, function(err, user){
100
+ * if (err) {
101
+ * return next(err)
102
+ * } else if (!user) {
103
+ * return next(new Error('failed to load user'))
104
+ * }
105
+ * req.user = user
106
+ * next()
107
+ * })
108
+ * })
109
+ *
110
+ * @param {string} name
111
+ * @param {function} fn
112
+ * @public
113
+ */
114
+
115
+ Router.prototype.param = function param (name, fn) {
116
+ if (!name) {
117
+ throw new TypeError('argument name is required')
118
+ }
119
+
120
+ if (typeof name !== 'string') {
121
+ throw new TypeError('argument name must be a string')
122
+ }
123
+
124
+ if (!fn) {
125
+ throw new TypeError('argument fn is required')
126
+ }
127
+
128
+ if (typeof fn !== 'function') {
129
+ throw new TypeError('argument fn must be a function')
130
+ }
131
+
132
+ let params = this.params[name]
133
+
134
+ if (!params) {
135
+ params = this.params[name] = []
136
+ }
137
+
138
+ params.push(fn)
139
+
140
+ return this
141
+ }
142
+
143
+ /**
144
+ * Dispatch a req, res into the router.
145
+ *
146
+ * @private
147
+ */
148
+
149
+ Router.prototype.handle = function handle (req, res, callback) {
150
+ if (!callback) {
151
+ throw new TypeError('argument callback is required')
152
+ }
153
+
154
+ debug('dispatching %s %s', req.method, req.url)
155
+
156
+ let idx = 0
157
+ let methods
158
+ const protohost = getProtohost(req.url) || ''
159
+ let removed = ''
160
+ const self = this
161
+ let slashAdded = false
162
+ let sync = 0
163
+ const paramcalled = {}
164
+
165
+ // middleware and routes
166
+ const stack = this.stack
167
+
168
+ // manage inter-router variables
169
+ const parentParams = req.params
170
+ const parentUrl = req.baseUrl || ''
171
+ let done = restore(callback, req, 'baseUrl', 'next', 'params')
172
+
173
+ // setup next layer
174
+ req.next = next
175
+
176
+ // for options requests, respond with a default if nothing else responds
177
+ if (req.method === 'OPTIONS') {
178
+ methods = []
179
+ done = wrap(done, generateOptionsResponder(res, methods))
180
+ }
181
+
182
+ // setup basic req values
183
+ req.baseUrl = parentUrl
184
+ req.originalUrl = req.originalUrl || req.url
185
+
186
+ next()
187
+
188
+ function next (err) {
189
+ let layerError = err === 'route'
190
+ ? null
191
+ : err
192
+
193
+ // remove added slash
194
+ if (slashAdded) {
195
+ req.url = req.url.slice(1)
196
+ slashAdded = false
197
+ }
198
+
199
+ // restore altered req.url
200
+ if (removed.length !== 0) {
201
+ req.baseUrl = parentUrl
202
+ req.url = protohost + removed + req.url.slice(protohost.length)
203
+ removed = ''
204
+ }
205
+
206
+ // signal to exit router
207
+ if (layerError === 'router') {
208
+ setImmediate(done, null)
209
+ return
210
+ }
211
+
212
+ // no more matching layers
213
+ if (idx >= stack.length) {
214
+ setImmediate(done, layerError)
215
+ return
216
+ }
217
+
218
+ // max sync stack
219
+ if (++sync > 100) {
220
+ return setImmediate(next, err)
221
+ }
222
+
223
+ // get pathname of request
224
+ const path = getPathname(req)
225
+
226
+ if (path == null) {
227
+ return done(layerError)
228
+ }
229
+
230
+ // find next matching layer
231
+ let layer
232
+ let match
233
+ let route
234
+
235
+ while (match !== true && idx < stack.length) {
236
+ layer = stack[idx++]
237
+ match = matchLayer(layer, path)
238
+ route = layer.route
239
+
240
+ if (typeof match !== 'boolean') {
241
+ // hold on to layerError
242
+ layerError = layerError || match
243
+ }
244
+
245
+ if (match !== true) {
246
+ continue
247
+ }
248
+
249
+ if (!route) {
250
+ // process non-route handlers normally
251
+ continue
252
+ }
253
+
254
+ if (layerError) {
255
+ // routes do not match with a pending error
256
+ match = false
257
+ continue
258
+ }
259
+
260
+ const method = req.method
261
+ const hasMethod = route._handlesMethod(method)
262
+
263
+ // build up automatic options response
264
+ if (!hasMethod && method === 'OPTIONS' && methods) {
265
+ methods.push.apply(methods, route._methods())
266
+ }
267
+
268
+ // don't even bother matching route
269
+ if (!hasMethod && method !== 'HEAD') {
270
+ match = false
271
+ }
272
+ }
273
+
274
+ // no match
275
+ if (match !== true) {
276
+ return done(layerError)
277
+ }
278
+
279
+ // store route for dispatch on change
280
+ if (route) {
281
+ req.route = route
282
+ }
283
+
284
+ // Capture one-time layer values
285
+ req.params = self.mergeParams
286
+ ? mergeParams(layer.params, parentParams)
287
+ : layer.params
288
+ const layerPath = layer.path
289
+
290
+ // this should be done for the layer
291
+ processParams(self.params, layer, paramcalled, req, res, function (err) {
292
+ if (err) {
293
+ next(layerError || err)
294
+ } else if (route) {
295
+ layer.handleRequest(req, res, next)
296
+ } else {
297
+ trimPrefix(layer, layerError, layerPath, path)
298
+ }
299
+
300
+ sync = 0
301
+ })
302
+ }
303
+
304
+ function trimPrefix (layer, layerError, layerPath, path) {
305
+ if (layerPath.length !== 0) {
306
+ // Validate path is a prefix match
307
+ if (layerPath !== path.substring(0, layerPath.length)) {
308
+ next(layerError)
309
+ return
310
+ }
311
+
312
+ // Validate path breaks on a path separator
313
+ const c = path[layerPath.length]
314
+ if (c && c !== '/') {
315
+ next(layerError)
316
+ return
317
+ }
318
+
319
+ // Trim off the part of the url that matches the route
320
+ // middleware (.use stuff) needs to have the path stripped
321
+ debug('trim prefix (%s) from url %s', layerPath, req.url)
322
+ removed = layerPath
323
+ req.url = protohost + req.url.slice(protohost.length + removed.length)
324
+
325
+ // Ensure leading slash
326
+ if (!protohost && req.url[0] !== '/') {
327
+ req.url = '/' + req.url
328
+ slashAdded = true
329
+ }
330
+
331
+ // Setup base URL (no trailing slash)
332
+ req.baseUrl = parentUrl + (removed[removed.length - 1] === '/'
333
+ ? removed.substring(0, removed.length - 1)
334
+ : removed)
335
+ }
336
+
337
+ debug('%s %s : %s', layer.name, layerPath, req.originalUrl)
338
+
339
+ if (layerError) {
340
+ layer.handleError(layerError, req, res, next)
341
+ } else {
342
+ layer.handleRequest(req, res, next)
343
+ }
344
+ }
345
+ }
346
+
347
+ /**
348
+ * Use the given middleware function, with optional path, defaulting to "/".
349
+ *
350
+ * Use (like `.all`) will run for any http METHOD, but it will not add
351
+ * handlers for those methods so OPTIONS requests will not consider `.use`
352
+ * functions even if they could respond.
353
+ *
354
+ * The other difference is that _route_ path is stripped and not visible
355
+ * to the handler function. The main effect of this feature is that mounted
356
+ * handlers can operate without any code changes regardless of the "prefix"
357
+ * pathname.
358
+ *
359
+ * @public
360
+ */
361
+
362
+ Router.prototype.use = function use (handler) {
363
+ let offset = 0
364
+ let path = '/'
365
+
366
+ // default path to '/'
367
+ // disambiguate router.use([handler])
368
+ if (typeof handler !== 'function') {
369
+ let arg = handler
370
+
371
+ while (Array.isArray(arg) && arg.length !== 0) {
372
+ arg = arg[0]
373
+ }
374
+
375
+ // first arg is the path
376
+ if (typeof arg !== 'function') {
377
+ offset = 1
378
+ path = handler
379
+ }
380
+ }
381
+
382
+ const callbacks = flatten.call(slice.call(arguments, offset), Infinity)
383
+
384
+ if (callbacks.length === 0) {
385
+ throw new TypeError('argument handler is required')
386
+ }
387
+
388
+ for (let i = 0; i < callbacks.length; i++) {
389
+ const fn = callbacks[i]
390
+
391
+ if (typeof fn !== 'function') {
392
+ throw new TypeError('argument handler must be a function')
393
+ }
394
+
395
+ // add the middleware
396
+ debug('use %o %s', path, fn.name || '<anonymous>')
397
+
398
+ const layer = new Layer(path, {
399
+ sensitive: this.caseSensitive,
400
+ strict: false,
401
+ end: false
402
+ }, fn)
403
+
404
+ layer.route = undefined
405
+
406
+ this.stack.push(layer)
407
+ }
408
+
409
+ return this
410
+ }
411
+
412
+ /**
413
+ * Create a new Route for the given path.
414
+ *
415
+ * Each route contains a separate middleware stack and VERB handlers.
416
+ *
417
+ * See the Route api documentation for details on adding handlers
418
+ * and middleware to routes.
419
+ *
420
+ * @param {string} path
421
+ * @return {Route}
422
+ * @public
423
+ */
424
+
425
+ Router.prototype.route = function route (path) {
426
+ const route = new Route(path)
427
+
428
+ const layer = new Layer(path, {
429
+ sensitive: this.caseSensitive,
430
+ strict: this.strict,
431
+ end: true
432
+ }, handle)
433
+
434
+ function handle (req, res, next) {
435
+ route.dispatch(req, res, next)
436
+ }
437
+
438
+ layer.route = route
439
+
440
+ this.stack.push(layer)
441
+ return route
442
+ }
443
+
444
+ // create Router#VERB functions
445
+ methods.concat('all').forEach(function (method) {
446
+ Router.prototype[method] = function (path) {
447
+ const route = this.route(path)
448
+ route[method].apply(route, slice.call(arguments, 1))
449
+ return this
450
+ }
451
+ })
452
+
453
+ /**
454
+ * Generate a callback that will make an OPTIONS response.
455
+ *
456
+ * @param {OutgoingMessage} res
457
+ * @param {array} methods
458
+ * @private
459
+ */
460
+
461
+ function generateOptionsResponder (res, methods) {
462
+ return function onDone (fn, err) {
463
+ if (err || methods.length === 0) {
464
+ return fn(err)
465
+ }
466
+
467
+ trySendOptionsResponse(res, methods, fn)
468
+ }
469
+ }
470
+
471
+ /**
472
+ * Get pathname of request.
473
+ *
474
+ * @param {IncomingMessage} req
475
+ * @private
476
+ */
477
+
478
+ function getPathname (req) {
479
+ try {
480
+ return parseUrl(req).pathname
481
+ } catch (err) {
482
+ return undefined
483
+ }
484
+ }
485
+
486
+ /**
487
+ * Get get protocol + host for a URL.
488
+ *
489
+ * @param {string} url
490
+ * @private
491
+ */
492
+
493
+ function getProtohost (url) {
494
+ if (typeof url !== 'string' || url.length === 0 || url[0] === '/') {
495
+ return undefined
496
+ }
497
+
498
+ const searchIndex = url.indexOf('?')
499
+ const pathLength = searchIndex !== -1
500
+ ? searchIndex
501
+ : url.length
502
+ const fqdnIndex = url.substring(0, pathLength).indexOf('://')
503
+
504
+ return fqdnIndex !== -1
505
+ ? url.substring(0, url.indexOf('/', 3 + fqdnIndex))
506
+ : undefined
507
+ }
508
+
509
+ /**
510
+ * Match path to a layer.
511
+ *
512
+ * @param {Layer} layer
513
+ * @param {string} path
514
+ * @private
515
+ */
516
+
517
+ function matchLayer (layer, path) {
518
+ try {
519
+ return layer.match(path)
520
+ } catch (err) {
521
+ return err
522
+ }
523
+ }
524
+
525
+ /**
526
+ * Merge params with parent params
527
+ *
528
+ * @private
529
+ */
530
+
531
+ function mergeParams (params, parent) {
532
+ if (typeof parent !== 'object' || !parent) {
533
+ return params
534
+ }
535
+
536
+ // make copy of parent for base
537
+ const obj = Object.assign({}, parent)
538
+
539
+ // simple non-numeric merging
540
+ if (!(0 in params) || !(0 in parent)) {
541
+ return Object.assign(obj, params)
542
+ }
543
+
544
+ let i = 0
545
+ let o = 0
546
+
547
+ // determine numeric gap in params
548
+ while (i in params) {
549
+ i++
550
+ }
551
+
552
+ // determine numeric gap in parent
553
+ while (o in parent) {
554
+ o++
555
+ }
556
+
557
+ // offset numeric indices in params before merge
558
+ for (i--; i >= 0; i--) {
559
+ params[i + o] = params[i]
560
+
561
+ // create holes for the merge when necessary
562
+ if (i < o) {
563
+ delete params[i]
564
+ }
565
+ }
566
+
567
+ return Object.assign(obj, params)
568
+ }
569
+
570
+ /**
571
+ * Process any parameters for the layer.
572
+ *
573
+ * @private
574
+ */
575
+
576
+ function processParams (params, layer, called, req, res, done) {
577
+ // captured parameters from the layer, keys and values
578
+ const keys = layer.keys
579
+
580
+ // fast track
581
+ if (!keys || keys.length === 0) {
582
+ return done()
583
+ }
584
+
585
+ let i = 0
586
+ let paramIndex = 0
587
+ let key
588
+ let paramVal
589
+ let paramCallbacks
590
+ let paramCalled
591
+
592
+ // process params in order
593
+ // param callbacks can be async
594
+ function param (err) {
595
+ if (err) {
596
+ return done(err)
597
+ }
598
+
599
+ if (i >= keys.length) {
600
+ return done()
601
+ }
602
+
603
+ paramIndex = 0
604
+ key = keys[i++]
605
+ paramVal = req.params[key]
606
+ paramCallbacks = params[key]
607
+ paramCalled = called[key]
608
+
609
+ if (paramVal === undefined || !paramCallbacks) {
610
+ return param()
611
+ }
612
+
613
+ // param previously called with same value or error occurred
614
+ if (paramCalled && (paramCalled.match === paramVal ||
615
+ (paramCalled.error && paramCalled.error !== 'route'))) {
616
+ // restore value
617
+ req.params[key] = paramCalled.value
618
+
619
+ // next param
620
+ return param(paramCalled.error)
621
+ }
622
+
623
+ called[key] = paramCalled = {
624
+ error: null,
625
+ match: paramVal,
626
+ value: paramVal
627
+ }
628
+
629
+ paramCallback()
630
+ }
631
+
632
+ // single param callbacks
633
+ function paramCallback (err) {
634
+ const fn = paramCallbacks[paramIndex++]
635
+
636
+ // store updated value
637
+ paramCalled.value = req.params[key]
638
+
639
+ if (err) {
640
+ // store error
641
+ paramCalled.error = err
642
+ param(err)
643
+ return
644
+ }
645
+
646
+ if (!fn) return param()
647
+
648
+ try {
649
+ const ret = fn(req, res, paramCallback, paramVal, key)
650
+ if (isPromise(ret)) {
651
+ if (!(ret instanceof Promise)) {
652
+ deprecate('parameters that are Promise-like are deprecated, use a native Promise instead')
653
+ }
654
+
655
+ ret.then(null, function (error) {
656
+ paramCallback(error || new Error('Rejected promise'))
657
+ })
658
+ }
659
+ } catch (e) {
660
+ paramCallback(e)
661
+ }
662
+ }
663
+
664
+ param()
665
+ }
666
+
667
+ /**
668
+ * Restore obj props after function
669
+ *
670
+ * @private
671
+ */
672
+
673
+ function restore (fn, obj) {
674
+ const props = new Array(arguments.length - 2)
675
+ const vals = new Array(arguments.length - 2)
676
+
677
+ for (let i = 0; i < props.length; i++) {
678
+ props[i] = arguments[i + 2]
679
+ vals[i] = obj[props[i]]
680
+ }
681
+
682
+ return function () {
683
+ // restore vals
684
+ for (let i = 0; i < props.length; i++) {
685
+ obj[props[i]] = vals[i]
686
+ }
687
+
688
+ return fn.apply(this, arguments)
689
+ }
690
+ }
691
+
692
+ /**
693
+ * Send an OPTIONS response.
694
+ *
695
+ * @private
696
+ */
697
+
698
+ function sendOptionsResponse (res, methods) {
699
+ const options = Object.create(null)
700
+
701
+ // build unique method map
702
+ for (let i = 0; i < methods.length; i++) {
703
+ options[methods[i]] = true
704
+ }
705
+
706
+ // construct the allow list
707
+ const allow = Object.keys(options).sort().join(', ')
708
+
709
+ // send response
710
+ res.setHeader('Allow', allow)
711
+ res.setHeader('Content-Length', Buffer.byteLength(allow))
712
+ res.setHeader('Content-Type', 'text/plain')
713
+ res.setHeader('X-Content-Type-Options', 'nosniff')
714
+ res.end(allow)
715
+ }
716
+
717
+ /**
718
+ * Try to send an OPTIONS response.
719
+ *
720
+ * @private
721
+ */
722
+
723
+ function trySendOptionsResponse (res, methods, next) {
724
+ try {
725
+ sendOptionsResponse(res, methods)
726
+ } catch (err) {
727
+ next(err)
728
+ }
729
+ }
730
+
731
+ /**
732
+ * Wrap a function
733
+ *
734
+ * @private
735
+ */
736
+
737
+ function wrap (old, fn) {
738
+ return function proxy () {
739
+ const args = new Array(arguments.length + 1)
740
+
741
+ args[0] = old
742
+ for (let i = 0, len = arguments.length; i < len; i++) {
743
+ args[i + 1] = arguments[i]
744
+ }
745
+
746
+ fn.apply(this, args)
747
+ }
748
+ }