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,47 @@
1
+ {
2
+ "name": "finalhandler",
3
+ "description": "Node.js final http responder",
4
+ "version": "2.1.1",
5
+ "author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
6
+ "license": "MIT",
7
+ "repository": "pillarjs/finalhandler",
8
+ "funding": {
9
+ "type": "opencollective",
10
+ "url": "https://opencollective.com/express"
11
+ },
12
+ "dependencies": {
13
+ "debug": "^4.4.0",
14
+ "encodeurl": "^2.0.0",
15
+ "escape-html": "^1.0.3",
16
+ "on-finished": "^2.4.1",
17
+ "parseurl": "^1.3.3",
18
+ "statuses": "^2.0.1"
19
+ },
20
+ "devDependencies": {
21
+ "eslint": "^7.32.0",
22
+ "eslint-config-standard": "^14.1.1",
23
+ "eslint-plugin-import": "^2.31.0",
24
+ "eslint-plugin-markdown": "^2.2.1",
25
+ "eslint-plugin-node": "^11.1.0",
26
+ "eslint-plugin-promise": "^5.2.0",
27
+ "eslint-plugin-standard": "^4.1.0",
28
+ "mocha": "^11.0.1",
29
+ "nyc": "^17.1.0",
30
+ "supertest": "^7.0.0"
31
+ },
32
+ "files": [
33
+ "LICENSE",
34
+ "HISTORY.md",
35
+ "index.js"
36
+ ],
37
+ "engines": {
38
+ "node": ">= 18.0.0"
39
+ },
40
+ "scripts": {
41
+ "lint": "eslint .",
42
+ "test": "mocha --reporter spec --check-leaks test/",
43
+ "test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
44
+ "test-cov": "nyc --reporter=html --reporter=text npm test",
45
+ "test-inspect": "mocha --reporter spec --inspect --inspect-brk test/"
46
+ }
47
+ }
@@ -0,0 +1,21 @@
1
+ 0.2.0 / 2021-05-31
2
+ ==================
3
+
4
+ * Use `req.socket` over deprecated `req.connection`
5
+
6
+ 0.1.2 / 2017-09-14
7
+ ==================
8
+
9
+ * perf: improve header parsing
10
+ * perf: reduce overhead when no `X-Forwarded-For` header
11
+
12
+ 0.1.1 / 2017-09-10
13
+ ==================
14
+
15
+ * Fix trimming leading / trailing OWS
16
+ * perf: hoist regular expression
17
+
18
+ 0.1.0 / 2014-09-21
19
+ ==================
20
+
21
+ * Initial release
@@ -0,0 +1,22 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2014-2017 Douglas Christopher Wilson
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,57 @@
1
+ # forwarded
2
+
3
+ [![NPM Version][npm-image]][npm-url]
4
+ [![NPM Downloads][downloads-image]][downloads-url]
5
+ [![Node.js Version][node-version-image]][node-version-url]
6
+ [![Build Status][ci-image]][ci-url]
7
+ [![Test Coverage][coveralls-image]][coveralls-url]
8
+
9
+ Parse HTTP X-Forwarded-For header
10
+
11
+ ## Installation
12
+
13
+ This is a [Node.js](https://nodejs.org/en/) module available through the
14
+ [npm registry](https://www.npmjs.com/). Installation is done using the
15
+ [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
16
+
17
+ ```sh
18
+ $ npm install forwarded
19
+ ```
20
+
21
+ ## API
22
+
23
+ ```js
24
+ var forwarded = require('forwarded')
25
+ ```
26
+
27
+ ### forwarded(req)
28
+
29
+ ```js
30
+ var addresses = forwarded(req)
31
+ ```
32
+
33
+ Parse the `X-Forwarded-For` header from the request. Returns an array
34
+ of the addresses, including the socket address for the `req`, in reverse
35
+ order (i.e. index `0` is the socket address and the last index is the
36
+ furthest address, typically the end-user).
37
+
38
+ ## Testing
39
+
40
+ ```sh
41
+ $ npm test
42
+ ```
43
+
44
+ ## License
45
+
46
+ [MIT](LICENSE)
47
+
48
+ [ci-image]: https://badgen.net/github/checks/jshttp/forwarded/master?label=ci
49
+ [ci-url]: https://github.com/jshttp/forwarded/actions?query=workflow%3Aci
50
+ [npm-image]: https://img.shields.io/npm/v/forwarded.svg
51
+ [npm-url]: https://npmjs.org/package/forwarded
52
+ [node-version-image]: https://img.shields.io/node/v/forwarded.svg
53
+ [node-version-url]: https://nodejs.org/en/download/
54
+ [coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg
55
+ [coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master
56
+ [downloads-image]: https://img.shields.io/npm/dm/forwarded.svg
57
+ [downloads-url]: https://npmjs.org/package/forwarded
@@ -0,0 +1,90 @@
1
+ /*!
2
+ * forwarded
3
+ * Copyright(c) 2014-2017 Douglas Christopher Wilson
4
+ * MIT Licensed
5
+ */
6
+
7
+ 'use strict'
8
+
9
+ /**
10
+ * Module exports.
11
+ * @public
12
+ */
13
+
14
+ module.exports = forwarded
15
+
16
+ /**
17
+ * Get all addresses in the request, using the `X-Forwarded-For` header.
18
+ *
19
+ * @param {object} req
20
+ * @return {array}
21
+ * @public
22
+ */
23
+
24
+ function forwarded (req) {
25
+ if (!req) {
26
+ throw new TypeError('argument req is required')
27
+ }
28
+
29
+ // simple header parsing
30
+ var proxyAddrs = parse(req.headers['x-forwarded-for'] || '')
31
+ var socketAddr = getSocketAddr(req)
32
+ var addrs = [socketAddr].concat(proxyAddrs)
33
+
34
+ // return all addresses
35
+ return addrs
36
+ }
37
+
38
+ /**
39
+ * Get the socket address for a request.
40
+ *
41
+ * @param {object} req
42
+ * @return {string}
43
+ * @private
44
+ */
45
+
46
+ function getSocketAddr (req) {
47
+ return req.socket
48
+ ? req.socket.remoteAddress
49
+ : req.connection.remoteAddress
50
+ }
51
+
52
+ /**
53
+ * Parse the X-Forwarded-For header.
54
+ *
55
+ * @param {string} header
56
+ * @private
57
+ */
58
+
59
+ function parse (header) {
60
+ var end = header.length
61
+ var list = []
62
+ var start = header.length
63
+
64
+ // gather addresses, backwards
65
+ for (var i = header.length - 1; i >= 0; i--) {
66
+ switch (header.charCodeAt(i)) {
67
+ case 0x20: /* */
68
+ if (start === end) {
69
+ start = end = i
70
+ }
71
+ break
72
+ case 0x2c: /* , */
73
+ if (start !== end) {
74
+ list.push(header.substring(start, end))
75
+ }
76
+ start = end = i
77
+ break
78
+ default:
79
+ start = i
80
+ break
81
+ }
82
+ }
83
+
84
+ // final address
85
+ if (start !== end) {
86
+ list.push(header.substring(start, end))
87
+ }
88
+
89
+ return list
90
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "forwarded",
3
+ "description": "Parse HTTP X-Forwarded-For header",
4
+ "version": "0.2.0",
5
+ "contributors": [
6
+ "Douglas Christopher Wilson <doug@somethingdoug.com>"
7
+ ],
8
+ "license": "MIT",
9
+ "keywords": [
10
+ "x-forwarded-for",
11
+ "http",
12
+ "req"
13
+ ],
14
+ "repository": "jshttp/forwarded",
15
+ "devDependencies": {
16
+ "beautify-benchmark": "0.2.4",
17
+ "benchmark": "2.1.4",
18
+ "deep-equal": "1.0.1",
19
+ "eslint": "7.27.0",
20
+ "eslint-config-standard": "14.1.1",
21
+ "eslint-plugin-import": "2.23.4",
22
+ "eslint-plugin-node": "11.1.0",
23
+ "eslint-plugin-promise": "4.3.1",
24
+ "eslint-plugin-standard": "4.1.0",
25
+ "mocha": "8.4.0",
26
+ "nyc": "15.1.0"
27
+ },
28
+ "files": [
29
+ "LICENSE",
30
+ "HISTORY.md",
31
+ "README.md",
32
+ "index.js"
33
+ ],
34
+ "engines": {
35
+ "node": ">= 0.6"
36
+ },
37
+ "scripts": {
38
+ "bench": "node benchmark/index.js",
39
+ "lint": "eslint .",
40
+ "test": "mocha --reporter spec --bail --check-leaks test/",
41
+ "test-ci": "nyc --reporter=lcov --reporter=text npm test",
42
+ "test-cov": "nyc --reporter=html --reporter=text npm test",
43
+ "version": "node scripts/version-history.js && git add HISTORY.md"
44
+ }
45
+ }
@@ -0,0 +1,80 @@
1
+ 2.0.0 - 2024-09-04
2
+ ==========
3
+ * Drop support for Node.js <18
4
+
5
+ 1.0.0 - 2024-09-04
6
+ ==========
7
+
8
+ * Drop support for Node.js below 0.8
9
+ * Fix: Ignore `If-Modified-Since` in the presence of `If-None-Match`, according to [spec](https://www.rfc-editor.org/rfc/rfc9110.html#section-13.1.3-5). Fixes [#35](https://github.com/jshttp/fresh/issues/35)
10
+
11
+ 0.5.2 / 2017-09-13
12
+ ==================
13
+
14
+ * Fix regression matching multiple ETags in `If-None-Match`
15
+ * perf: improve `If-None-Match` token parsing
16
+
17
+ 0.5.1 / 2017-09-11
18
+ ==================
19
+
20
+ * Fix handling of modified headers with invalid dates
21
+ * perf: improve ETag match loop
22
+
23
+ 0.5.0 / 2017-02-21
24
+ ==================
25
+
26
+ * Fix incorrect result when `If-None-Match` has both `*` and ETags
27
+ * Fix weak `ETag` matching to match spec
28
+ * perf: delay reading header values until needed
29
+ * perf: skip checking modified time if ETag check failed
30
+ * perf: skip parsing `If-None-Match` when no `ETag` header
31
+ * perf: use `Date.parse` instead of `new Date`
32
+
33
+ 0.4.0 / 2017-02-05
34
+ ==================
35
+
36
+ * Fix false detection of `no-cache` request directive
37
+ * perf: enable strict mode
38
+ * perf: hoist regular expressions
39
+ * perf: remove duplicate conditional
40
+ * perf: remove unnecessary boolean coercions
41
+
42
+ 0.3.0 / 2015-05-12
43
+ ==================
44
+
45
+ * Add weak `ETag` matching support
46
+
47
+ 0.2.4 / 2014-09-07
48
+ ==================
49
+
50
+ * Support Node.js 0.6
51
+
52
+ 0.2.3 / 2014-09-07
53
+ ==================
54
+
55
+ * Move repository to jshttp
56
+
57
+ 0.2.2 / 2014-02-19
58
+ ==================
59
+
60
+ * Revert "Fix for blank page on Safari reload"
61
+
62
+ 0.2.1 / 2014-01-29
63
+ ==================
64
+
65
+ * Fix for blank page on Safari reload
66
+
67
+ 0.2.0 / 2013-08-11
68
+ ==================
69
+
70
+ * Return stale for `Cache-Control: no-cache`
71
+
72
+ 0.1.0 / 2012-06-15
73
+ ==================
74
+
75
+ * Add `If-None-Match: *` support
76
+
77
+ 0.0.1 / 2012-06-10
78
+ ==================
79
+
80
+ * Initial release
@@ -0,0 +1,23 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>
4
+ Copyright (c) 2016-2017 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,117 @@
1
+ # fresh
2
+
3
+ [![NPM Version][npm-image]][npm-url]
4
+ [![NPM Downloads][downloads-image]][downloads-url]
5
+ [![Node.js Version][node-version-image]][node-version-url]
6
+ [![Build Status][ci-image]][ci-url]
7
+ [![Test Coverage][coveralls-image]][coveralls-url]
8
+
9
+ HTTP response freshness testing
10
+
11
+ ## Installation
12
+
13
+ This is a [Node.js](https://nodejs.org/en/) module available through the
14
+ [npm registry](https://www.npmjs.com/). Installation is done using the
15
+ [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
16
+
17
+ ```
18
+ $ npm install fresh
19
+ ```
20
+
21
+ ## API
22
+
23
+ ```js
24
+ var fresh = require('fresh')
25
+ ```
26
+
27
+ ### fresh(reqHeaders, resHeaders)
28
+
29
+ Check freshness of the response using request and response headers.
30
+
31
+ When the response is still "fresh" in the client's cache `true` is
32
+ returned, otherwise `false` is returned to indicate that the client
33
+ cache is now stale and the full response should be sent.
34
+
35
+ When a client sends the `Cache-Control: no-cache` request header to
36
+ indicate an end-to-end reload request, this module will return `false`
37
+ to make handling these requests transparent.
38
+
39
+ ## Known Issues
40
+
41
+ This module is designed to only follow the HTTP specifications, not
42
+ to work-around all kinda of client bugs (especially since this module
43
+ typically does not receive enough information to understand what the
44
+ client actually is).
45
+
46
+ There is a known issue that in certain versions of Safari, Safari
47
+ will incorrectly make a request that allows this module to validate
48
+ freshness of the resource even when Safari does not have a
49
+ representation of the resource in the cache. The module
50
+ [jumanji](https://www.npmjs.com/package/jumanji) can be used in
51
+ an Express application to work-around this issue and also provides
52
+ links to further reading on this Safari bug.
53
+
54
+ ## Example
55
+
56
+ ### API usage
57
+
58
+ <!-- eslint-disable no-redeclare -->
59
+
60
+ ```js
61
+ var reqHeaders = { 'if-none-match': '"foo"' }
62
+ var resHeaders = { etag: '"bar"' }
63
+ fresh(reqHeaders, resHeaders)
64
+ // => false
65
+
66
+ var reqHeaders = { 'if-none-match': '"foo"' }
67
+ var resHeaders = { etag: '"foo"' }
68
+ fresh(reqHeaders, resHeaders)
69
+ // => true
70
+ ```
71
+
72
+ ### Using with Node.js http server
73
+
74
+ ```js
75
+ var fresh = require('fresh')
76
+ var http = require('http')
77
+
78
+ var server = http.createServer(function (req, res) {
79
+ // perform server logic
80
+ // ... including adding ETag / Last-Modified response headers
81
+
82
+ if (isFresh(req, res)) {
83
+ // client has a fresh copy of resource
84
+ res.statusCode = 304
85
+ res.end()
86
+ return
87
+ }
88
+
89
+ // send the resource
90
+ res.statusCode = 200
91
+ res.end('hello, world!')
92
+ })
93
+
94
+ function isFresh (req, res) {
95
+ return fresh(req.headers, {
96
+ etag: res.getHeader('ETag'),
97
+ 'last-modified': res.getHeader('Last-Modified')
98
+ })
99
+ }
100
+
101
+ server.listen(3000)
102
+ ```
103
+
104
+ ## License
105
+
106
+ [MIT](LICENSE)
107
+
108
+ [ci-image]: https://img.shields.io/github/workflow/status/jshttp/fresh/ci/master?label=ci
109
+ [ci-url]: https://github.com/jshttp/fresh/actions/workflows/ci.yml
110
+ [npm-image]: https://img.shields.io/npm/v/fresh.svg
111
+ [npm-url]: https://npmjs.org/package/fresh
112
+ [node-version-image]: https://img.shields.io/node/v/fresh.svg
113
+ [node-version-url]: https://nodejs.org/en/
114
+ [coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh/master.svg
115
+ [coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master
116
+ [downloads-image]: https://img.shields.io/npm/dm/fresh.svg
117
+ [downloads-url]: https://npmjs.org/package/fresh
@@ -0,0 +1,136 @@
1
+ /*!
2
+ * fresh
3
+ * Copyright(c) 2012 TJ Holowaychuk
4
+ * Copyright(c) 2016-2017 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */
7
+
8
+ 'use strict'
9
+
10
+ /**
11
+ * RegExp to check for no-cache token in Cache-Control.
12
+ * @private
13
+ */
14
+
15
+ var CACHE_CONTROL_NO_CACHE_REGEXP = /(?:^|,)\s*?no-cache\s*?(?:,|$)/
16
+
17
+ /**
18
+ * Module exports.
19
+ * @public
20
+ */
21
+
22
+ module.exports = fresh
23
+
24
+ /**
25
+ * Check freshness of the response using request and response headers.
26
+ *
27
+ * @param {Object} reqHeaders
28
+ * @param {Object} resHeaders
29
+ * @return {Boolean}
30
+ * @public
31
+ */
32
+
33
+ function fresh (reqHeaders, resHeaders) {
34
+ // fields
35
+ var modifiedSince = reqHeaders['if-modified-since']
36
+ var noneMatch = reqHeaders['if-none-match']
37
+
38
+ // unconditional request
39
+ if (!modifiedSince && !noneMatch) {
40
+ return false
41
+ }
42
+
43
+ // Always return stale when Cache-Control: no-cache
44
+ // to support end-to-end reload requests
45
+ // https://tools.ietf.org/html/rfc2616#section-14.9.4
46
+ var cacheControl = reqHeaders['cache-control']
47
+ if (cacheControl && CACHE_CONTROL_NO_CACHE_REGEXP.test(cacheControl)) {
48
+ return false
49
+ }
50
+
51
+ // if-none-match takes precedent over if-modified-since
52
+ if (noneMatch) {
53
+ if (noneMatch === '*') {
54
+ return true
55
+ }
56
+ var etag = resHeaders.etag
57
+
58
+ if (!etag) {
59
+ return false
60
+ }
61
+
62
+ var matches = parseTokenList(noneMatch)
63
+ for (var i = 0; i < matches.length; i++) {
64
+ var match = matches[i]
65
+ if (match === etag || match === 'W/' + etag || 'W/' + match === etag) {
66
+ return true
67
+ }
68
+ }
69
+
70
+ return false
71
+ }
72
+
73
+ // if-modified-since
74
+ if (modifiedSince) {
75
+ var lastModified = resHeaders['last-modified']
76
+ var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince))
77
+
78
+ if (modifiedStale) {
79
+ return false
80
+ }
81
+ }
82
+
83
+ return true
84
+ }
85
+
86
+ /**
87
+ * Parse an HTTP Date into a number.
88
+ *
89
+ * @param {string} date
90
+ * @private
91
+ */
92
+
93
+ function parseHttpDate (date) {
94
+ var timestamp = date && Date.parse(date)
95
+
96
+ // istanbul ignore next: guard against date.js Date.parse patching
97
+ return typeof timestamp === 'number'
98
+ ? timestamp
99
+ : NaN
100
+ }
101
+
102
+ /**
103
+ * Parse a HTTP token list.
104
+ *
105
+ * @param {string} str
106
+ * @private
107
+ */
108
+
109
+ function parseTokenList (str) {
110
+ var end = 0
111
+ var list = []
112
+ var start = 0
113
+
114
+ // gather tokens
115
+ for (var i = 0, len = str.length; i < len; i++) {
116
+ switch (str.charCodeAt(i)) {
117
+ case 0x20: /* */
118
+ if (start === end) {
119
+ start = end = i + 1
120
+ }
121
+ break
122
+ case 0x2c: /* , */
123
+ list.push(str.substring(start, end))
124
+ start = end = i + 1
125
+ break
126
+ default:
127
+ end = i + 1
128
+ break
129
+ }
130
+ }
131
+
132
+ // final token
133
+ list.push(str.substring(start, end))
134
+
135
+ return list
136
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "fresh",
3
+ "description": "HTTP response freshness testing",
4
+ "version": "2.0.0",
5
+ "author": "TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)",
6
+ "contributors": [
7
+ "Douglas Christopher Wilson <doug@somethingdoug.com>",
8
+ "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"
9
+ ],
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "fresh",
13
+ "http",
14
+ "conditional",
15
+ "cache"
16
+ ],
17
+ "repository": "jshttp/fresh",
18
+ "devDependencies": {
19
+ "beautify-benchmark": "0.2.4",
20
+ "benchmark": "2.1.4",
21
+ "eslint": "8.12.0",
22
+ "eslint-config-standard": "14.1.1",
23
+ "eslint-plugin-import": "2.25.4",
24
+ "eslint-plugin-markdown": "2.2.1",
25
+ "eslint-plugin-node": "11.1.0",
26
+ "eslint-plugin-promise": "6.0.0",
27
+ "eslint-plugin-standard": "4.1.0",
28
+ "mocha": "9.2.0",
29
+ "nyc": "15.1.0"
30
+ },
31
+ "files": [
32
+ "HISTORY.md",
33
+ "LICENSE",
34
+ "index.js"
35
+ ],
36
+ "engines": {
37
+ "node": ">= 0.8"
38
+ },
39
+ "scripts": {
40
+ "bench": "node benchmark/index.js",
41
+ "lint": "eslint .",
42
+ "test": "mocha --reporter spec --check-leaks --bail test/",
43
+ "test-ci": "nyc --reporter=lcov --reporter=text npm test",
44
+ "test-cov": "nyc --reporter=html --reporter=text npm test"
45
+ }
46
+ }