dcs8 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.
- package/index.html +314 -0
- package/mod/douban-proxy.js +98 -0
- package/mod/node_modules/.package-lock.json +845 -0
- package/mod/node_modules/accepts/HISTORY.md +250 -0
- package/mod/node_modules/accepts/LICENSE +23 -0
- package/mod/node_modules/accepts/README.md +140 -0
- package/mod/node_modules/accepts/index.js +238 -0
- package/mod/node_modules/accepts/package.json +47 -0
- package/mod/node_modules/body-parser/LICENSE +23 -0
- package/mod/node_modules/body-parser/README.md +494 -0
- package/mod/node_modules/body-parser/index.js +71 -0
- package/mod/node_modules/body-parser/lib/read.js +247 -0
- package/mod/node_modules/body-parser/lib/types/json.js +158 -0
- package/mod/node_modules/body-parser/lib/types/raw.js +42 -0
- package/mod/node_modules/body-parser/lib/types/text.js +36 -0
- package/mod/node_modules/body-parser/lib/types/urlencoded.js +142 -0
- package/mod/node_modules/body-parser/lib/utils.js +98 -0
- package/mod/node_modules/body-parser/package.json +52 -0
- package/mod/node_modules/bytes/History.md +97 -0
- package/mod/node_modules/bytes/LICENSE +23 -0
- package/mod/node_modules/bytes/Readme.md +152 -0
- package/mod/node_modules/bytes/index.js +170 -0
- package/mod/node_modules/bytes/package.json +42 -0
- package/mod/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
- package/mod/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
- package/mod/node_modules/call-bind-apply-helpers/.nycrc +9 -0
- package/mod/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
- package/mod/node_modules/call-bind-apply-helpers/LICENSE +21 -0
- package/mod/node_modules/call-bind-apply-helpers/README.md +62 -0
- package/mod/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
- package/mod/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
- package/mod/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
- package/mod/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
- package/mod/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
- package/mod/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
- package/mod/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
- package/mod/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
- package/mod/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
- package/mod/node_modules/call-bind-apply-helpers/index.js +15 -0
- package/mod/node_modules/call-bind-apply-helpers/package.json +85 -0
- package/mod/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
- package/mod/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
- package/mod/node_modules/call-bind-apply-helpers/test/index.js +63 -0
- package/mod/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
- package/mod/node_modules/call-bound/.eslintrc +13 -0
- package/mod/node_modules/call-bound/.github/FUNDING.yml +12 -0
- package/mod/node_modules/call-bound/.nycrc +9 -0
- package/mod/node_modules/call-bound/CHANGELOG.md +42 -0
- package/mod/node_modules/call-bound/LICENSE +21 -0
- package/mod/node_modules/call-bound/README.md +53 -0
- package/mod/node_modules/call-bound/index.d.ts +94 -0
- package/mod/node_modules/call-bound/index.js +19 -0
- package/mod/node_modules/call-bound/package.json +99 -0
- package/mod/node_modules/call-bound/test/index.js +61 -0
- package/mod/node_modules/call-bound/tsconfig.json +10 -0
- package/mod/node_modules/content-disposition/HISTORY.md +72 -0
- package/mod/node_modules/content-disposition/LICENSE +22 -0
- package/mod/node_modules/content-disposition/README.md +142 -0
- package/mod/node_modules/content-disposition/index.js +458 -0
- package/mod/node_modules/content-disposition/package.json +43 -0
- package/mod/node_modules/content-type/HISTORY.md +29 -0
- package/mod/node_modules/content-type/LICENSE +22 -0
- package/mod/node_modules/content-type/README.md +94 -0
- package/mod/node_modules/content-type/index.js +225 -0
- package/mod/node_modules/content-type/package.json +42 -0
- package/mod/node_modules/cookie/LICENSE +24 -0
- package/mod/node_modules/cookie/README.md +317 -0
- package/mod/node_modules/cookie/SECURITY.md +25 -0
- package/mod/node_modules/cookie/index.js +335 -0
- package/mod/node_modules/cookie/package.json +44 -0
- package/mod/node_modules/cookie-signature/History.md +70 -0
- package/mod/node_modules/cookie-signature/LICENSE +22 -0
- package/mod/node_modules/cookie-signature/Readme.md +23 -0
- package/mod/node_modules/cookie-signature/index.js +47 -0
- package/mod/node_modules/cookie-signature/package.json +24 -0
- package/mod/node_modules/cors/LICENSE +22 -0
- package/mod/node_modules/cors/README.md +277 -0
- package/mod/node_modules/cors/lib/index.js +238 -0
- package/mod/node_modules/cors/package.json +42 -0
- package/mod/node_modules/debug/LICENSE +20 -0
- package/mod/node_modules/debug/README.md +481 -0
- package/mod/node_modules/debug/package.json +64 -0
- package/mod/node_modules/debug/src/browser.js +272 -0
- package/mod/node_modules/debug/src/common.js +292 -0
- package/mod/node_modules/debug/src/index.js +10 -0
- package/mod/node_modules/debug/src/node.js +263 -0
- package/mod/node_modules/depd/History.md +103 -0
- package/mod/node_modules/depd/LICENSE +22 -0
- package/mod/node_modules/depd/Readme.md +280 -0
- package/mod/node_modules/depd/index.js +538 -0
- package/mod/node_modules/depd/lib/browser/index.js +77 -0
- package/mod/node_modules/depd/package.json +45 -0
- package/mod/node_modules/dunder-proto/.eslintrc +5 -0
- package/mod/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
- package/mod/node_modules/dunder-proto/.nycrc +13 -0
- package/mod/node_modules/dunder-proto/CHANGELOG.md +24 -0
- package/mod/node_modules/dunder-proto/LICENSE +21 -0
- package/mod/node_modules/dunder-proto/README.md +54 -0
- package/mod/node_modules/dunder-proto/get.d.ts +5 -0
- package/mod/node_modules/dunder-proto/get.js +30 -0
- package/mod/node_modules/dunder-proto/package.json +76 -0
- package/mod/node_modules/dunder-proto/set.d.ts +5 -0
- package/mod/node_modules/dunder-proto/set.js +35 -0
- package/mod/node_modules/dunder-proto/test/get.js +34 -0
- package/mod/node_modules/dunder-proto/test/index.js +4 -0
- package/mod/node_modules/dunder-proto/test/set.js +50 -0
- package/mod/node_modules/dunder-proto/tsconfig.json +9 -0
- package/mod/node_modules/ee-first/LICENSE +22 -0
- package/mod/node_modules/ee-first/README.md +80 -0
- package/mod/node_modules/ee-first/index.js +95 -0
- package/mod/node_modules/ee-first/package.json +29 -0
- package/mod/node_modules/encodeurl/LICENSE +22 -0
- package/mod/node_modules/encodeurl/README.md +109 -0
- package/mod/node_modules/encodeurl/index.js +60 -0
- package/mod/node_modules/encodeurl/package.json +40 -0
- package/mod/node_modules/es-define-property/.eslintrc +13 -0
- package/mod/node_modules/es-define-property/.github/FUNDING.yml +12 -0
- package/mod/node_modules/es-define-property/.nycrc +9 -0
- package/mod/node_modules/es-define-property/CHANGELOG.md +29 -0
- package/mod/node_modules/es-define-property/LICENSE +21 -0
- package/mod/node_modules/es-define-property/README.md +49 -0
- package/mod/node_modules/es-define-property/index.d.ts +3 -0
- package/mod/node_modules/es-define-property/index.js +14 -0
- package/mod/node_modules/es-define-property/package.json +81 -0
- package/mod/node_modules/es-define-property/test/index.js +56 -0
- package/mod/node_modules/es-define-property/tsconfig.json +10 -0
- package/mod/node_modules/es-errors/.eslintrc +5 -0
- package/mod/node_modules/es-errors/.github/FUNDING.yml +12 -0
- package/mod/node_modules/es-errors/CHANGELOG.md +40 -0
- package/mod/node_modules/es-errors/LICENSE +21 -0
- package/mod/node_modules/es-errors/README.md +55 -0
- package/mod/node_modules/es-errors/eval.d.ts +3 -0
- package/mod/node_modules/es-errors/eval.js +4 -0
- package/mod/node_modules/es-errors/index.d.ts +3 -0
- package/mod/node_modules/es-errors/index.js +4 -0
- package/mod/node_modules/es-errors/package.json +80 -0
- package/mod/node_modules/es-errors/range.d.ts +3 -0
- package/mod/node_modules/es-errors/range.js +4 -0
- package/mod/node_modules/es-errors/ref.d.ts +3 -0
- package/mod/node_modules/es-errors/ref.js +4 -0
- package/mod/node_modules/es-errors/syntax.d.ts +3 -0
- package/mod/node_modules/es-errors/syntax.js +4 -0
- package/mod/node_modules/es-errors/test/index.js +19 -0
- package/mod/node_modules/es-errors/tsconfig.json +49 -0
- package/mod/node_modules/es-errors/type.d.ts +3 -0
- package/mod/node_modules/es-errors/type.js +4 -0
- package/mod/node_modules/es-errors/uri.d.ts +3 -0
- package/mod/node_modules/es-errors/uri.js +4 -0
- package/mod/node_modules/es-object-atoms/.eslintrc +16 -0
- package/mod/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
- package/mod/node_modules/es-object-atoms/CHANGELOG.md +37 -0
- package/mod/node_modules/es-object-atoms/LICENSE +21 -0
- package/mod/node_modules/es-object-atoms/README.md +63 -0
- package/mod/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
- package/mod/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
- package/mod/node_modules/es-object-atoms/ToObject.d.ts +7 -0
- package/mod/node_modules/es-object-atoms/ToObject.js +10 -0
- package/mod/node_modules/es-object-atoms/index.d.ts +3 -0
- package/mod/node_modules/es-object-atoms/index.js +4 -0
- package/mod/node_modules/es-object-atoms/isObject.d.ts +3 -0
- package/mod/node_modules/es-object-atoms/isObject.js +6 -0
- package/mod/node_modules/es-object-atoms/package.json +80 -0
- package/mod/node_modules/es-object-atoms/test/index.js +38 -0
- package/mod/node_modules/es-object-atoms/tsconfig.json +6 -0
- package/mod/node_modules/escape-html/LICENSE +24 -0
- package/mod/node_modules/escape-html/Readme.md +43 -0
- package/mod/node_modules/escape-html/index.js +78 -0
- package/mod/node_modules/escape-html/package.json +24 -0
- package/mod/node_modules/etag/HISTORY.md +83 -0
- package/mod/node_modules/etag/LICENSE +22 -0
- package/mod/node_modules/etag/README.md +159 -0
- package/mod/node_modules/etag/index.js +131 -0
- package/mod/node_modules/etag/package.json +47 -0
- package/mod/node_modules/express/LICENSE +24 -0
- package/mod/node_modules/express/Readme.md +276 -0
- package/mod/node_modules/express/index.js +11 -0
- package/mod/node_modules/express/lib/application.js +631 -0
- package/mod/node_modules/express/lib/express.js +81 -0
- package/mod/node_modules/express/lib/request.js +514 -0
- package/mod/node_modules/express/lib/response.js +1053 -0
- package/mod/node_modules/express/lib/utils.js +271 -0
- package/mod/node_modules/express/lib/view.js +205 -0
- package/mod/node_modules/express/package.json +99 -0
- package/mod/node_modules/finalhandler/HISTORY.md +239 -0
- package/mod/node_modules/finalhandler/LICENSE +22 -0
- package/mod/node_modules/finalhandler/README.md +150 -0
- package/mod/node_modules/finalhandler/index.js +293 -0
- package/mod/node_modules/finalhandler/package.json +47 -0
- package/mod/node_modules/forwarded/HISTORY.md +21 -0
- package/mod/node_modules/forwarded/LICENSE +22 -0
- package/mod/node_modules/forwarded/README.md +57 -0
- package/mod/node_modules/forwarded/index.js +90 -0
- package/mod/node_modules/forwarded/package.json +45 -0
- package/mod/node_modules/fresh/HISTORY.md +80 -0
- package/mod/node_modules/fresh/LICENSE +23 -0
- package/mod/node_modules/fresh/README.md +117 -0
- package/mod/node_modules/fresh/index.js +136 -0
- package/mod/node_modules/fresh/package.json +46 -0
- package/mod/node_modules/function-bind/.eslintrc +21 -0
- package/mod/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/mod/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/mod/node_modules/function-bind/.nycrc +13 -0
- package/mod/node_modules/function-bind/CHANGELOG.md +136 -0
- package/mod/node_modules/function-bind/LICENSE +20 -0
- package/mod/node_modules/function-bind/README.md +46 -0
- package/mod/node_modules/function-bind/implementation.js +84 -0
- package/mod/node_modules/function-bind/index.js +5 -0
- package/mod/node_modules/function-bind/package.json +87 -0
- package/mod/node_modules/function-bind/test/.eslintrc +9 -0
- package/mod/node_modules/function-bind/test/index.js +252 -0
- package/mod/node_modules/get-intrinsic/.eslintrc +42 -0
- package/mod/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
- package/mod/node_modules/get-intrinsic/.nycrc +9 -0
- package/mod/node_modules/get-intrinsic/CHANGELOG.md +186 -0
- package/mod/node_modules/get-intrinsic/LICENSE +21 -0
- package/mod/node_modules/get-intrinsic/README.md +71 -0
- package/mod/node_modules/get-intrinsic/index.js +378 -0
- package/mod/node_modules/get-intrinsic/package.json +97 -0
- package/mod/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
- package/mod/node_modules/get-proto/.eslintrc +10 -0
- package/mod/node_modules/get-proto/.github/FUNDING.yml +12 -0
- package/mod/node_modules/get-proto/.nycrc +9 -0
- package/mod/node_modules/get-proto/CHANGELOG.md +21 -0
- package/mod/node_modules/get-proto/LICENSE +21 -0
- package/mod/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
- package/mod/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
- package/mod/node_modules/get-proto/README.md +50 -0
- package/mod/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
- package/mod/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
- package/mod/node_modules/get-proto/index.d.ts +5 -0
- package/mod/node_modules/get-proto/index.js +27 -0
- package/mod/node_modules/get-proto/package.json +81 -0
- package/mod/node_modules/get-proto/test/index.js +68 -0
- package/mod/node_modules/get-proto/tsconfig.json +9 -0
- package/mod/node_modules/gopd/.eslintrc +16 -0
- package/mod/node_modules/gopd/.github/FUNDING.yml +12 -0
- package/mod/node_modules/gopd/CHANGELOG.md +45 -0
- package/mod/node_modules/gopd/LICENSE +21 -0
- package/mod/node_modules/gopd/README.md +40 -0
- package/mod/node_modules/gopd/gOPD.d.ts +1 -0
- package/mod/node_modules/gopd/gOPD.js +4 -0
- package/mod/node_modules/gopd/index.d.ts +5 -0
- package/mod/node_modules/gopd/index.js +15 -0
- package/mod/node_modules/gopd/package.json +77 -0
- package/mod/node_modules/gopd/test/index.js +36 -0
- package/mod/node_modules/gopd/tsconfig.json +9 -0
- package/mod/node_modules/has-symbols/.eslintrc +11 -0
- package/mod/node_modules/has-symbols/.github/FUNDING.yml +12 -0
- package/mod/node_modules/has-symbols/.nycrc +9 -0
- package/mod/node_modules/has-symbols/CHANGELOG.md +91 -0
- package/mod/node_modules/has-symbols/LICENSE +21 -0
- package/mod/node_modules/has-symbols/README.md +46 -0
- package/mod/node_modules/has-symbols/index.d.ts +3 -0
- package/mod/node_modules/has-symbols/index.js +14 -0
- package/mod/node_modules/has-symbols/package.json +111 -0
- package/mod/node_modules/has-symbols/shams.d.ts +3 -0
- package/mod/node_modules/has-symbols/shams.js +45 -0
- package/mod/node_modules/has-symbols/test/index.js +22 -0
- package/mod/node_modules/has-symbols/test/shams/core-js.js +29 -0
- package/mod/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
- package/mod/node_modules/has-symbols/test/tests.js +58 -0
- package/mod/node_modules/has-symbols/tsconfig.json +10 -0
- package/mod/node_modules/hasown/.eslintrc +5 -0
- package/mod/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/mod/node_modules/hasown/.nycrc +13 -0
- package/mod/node_modules/hasown/CHANGELOG.md +40 -0
- package/mod/node_modules/hasown/LICENSE +21 -0
- package/mod/node_modules/hasown/README.md +40 -0
- package/mod/node_modules/hasown/index.d.ts +3 -0
- package/mod/node_modules/hasown/index.js +8 -0
- package/mod/node_modules/hasown/package.json +92 -0
- package/mod/node_modules/hasown/tsconfig.json +6 -0
- package/mod/node_modules/http-errors/HISTORY.md +186 -0
- package/mod/node_modules/http-errors/LICENSE +23 -0
- package/mod/node_modules/http-errors/README.md +169 -0
- package/mod/node_modules/http-errors/index.js +290 -0
- package/mod/node_modules/http-errors/package.json +54 -0
- package/mod/node_modules/iconv-lite/LICENSE +21 -0
- package/mod/node_modules/iconv-lite/README.md +138 -0
- package/mod/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/mod/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/mod/node_modules/iconv-lite/encodings/index.js +23 -0
- package/mod/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/mod/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/mod/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/mod/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/mod/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/mod/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/mod/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/mod/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/mod/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/mod/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/mod/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/mod/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/mod/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/mod/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/mod/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/mod/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/mod/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/mod/node_modules/iconv-lite/lib/index.d.ts +129 -0
- package/mod/node_modules/iconv-lite/lib/index.js +182 -0
- package/mod/node_modules/iconv-lite/lib/streams.js +105 -0
- package/mod/node_modules/iconv-lite/package.json +70 -0
- package/mod/node_modules/iconv-lite/types/encodings.d.ts +423 -0
- package/mod/node_modules/inherits/LICENSE +16 -0
- package/mod/node_modules/inherits/README.md +42 -0
- package/mod/node_modules/inherits/inherits.js +9 -0
- package/mod/node_modules/inherits/inherits_browser.js +27 -0
- package/mod/node_modules/inherits/package.json +29 -0
- package/mod/node_modules/ipaddr.js/LICENSE +19 -0
- package/mod/node_modules/ipaddr.js/README.md +233 -0
- package/mod/node_modules/ipaddr.js/ipaddr.min.js +1 -0
- package/mod/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
- package/mod/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
- package/mod/node_modules/ipaddr.js/package.json +35 -0
- package/mod/node_modules/is-promise/LICENSE +19 -0
- package/mod/node_modules/is-promise/index.d.ts +2 -0
- package/mod/node_modules/is-promise/index.js +6 -0
- package/mod/node_modules/is-promise/index.mjs +3 -0
- package/mod/node_modules/is-promise/package.json +30 -0
- package/mod/node_modules/is-promise/readme.md +33 -0
- package/mod/node_modules/math-intrinsics/.eslintrc +16 -0
- package/mod/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
- package/mod/node_modules/math-intrinsics/CHANGELOG.md +24 -0
- package/mod/node_modules/math-intrinsics/LICENSE +21 -0
- package/mod/node_modules/math-intrinsics/README.md +50 -0
- package/mod/node_modules/math-intrinsics/abs.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/abs.js +4 -0
- package/mod/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
- package/mod/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
- package/mod/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/constants/maxValue.js +5 -0
- package/mod/node_modules/math-intrinsics/floor.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/floor.js +4 -0
- package/mod/node_modules/math-intrinsics/isFinite.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/isFinite.js +12 -0
- package/mod/node_modules/math-intrinsics/isInteger.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/isInteger.js +16 -0
- package/mod/node_modules/math-intrinsics/isNaN.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/isNaN.js +6 -0
- package/mod/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/isNegativeZero.js +6 -0
- package/mod/node_modules/math-intrinsics/max.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/max.js +4 -0
- package/mod/node_modules/math-intrinsics/min.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/min.js +4 -0
- package/mod/node_modules/math-intrinsics/mod.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/mod.js +9 -0
- package/mod/node_modules/math-intrinsics/package.json +86 -0
- package/mod/node_modules/math-intrinsics/pow.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/pow.js +4 -0
- package/mod/node_modules/math-intrinsics/round.d.ts +1 -0
- package/mod/node_modules/math-intrinsics/round.js +4 -0
- package/mod/node_modules/math-intrinsics/sign.d.ts +3 -0
- package/mod/node_modules/math-intrinsics/sign.js +11 -0
- package/mod/node_modules/math-intrinsics/test/index.js +192 -0
- package/mod/node_modules/math-intrinsics/tsconfig.json +3 -0
- package/mod/node_modules/media-typer/HISTORY.md +50 -0
- package/mod/node_modules/media-typer/LICENSE +22 -0
- package/mod/node_modules/media-typer/README.md +93 -0
- package/mod/node_modules/media-typer/index.js +143 -0
- package/mod/node_modules/media-typer/package.json +33 -0
- package/mod/node_modules/merge-descriptors/index.d.ts +11 -0
- package/mod/node_modules/merge-descriptors/index.js +26 -0
- package/mod/node_modules/merge-descriptors/license +11 -0
- package/mod/node_modules/merge-descriptors/package.json +50 -0
- package/mod/node_modules/merge-descriptors/readme.md +55 -0
- package/mod/node_modules/mime-db/HISTORY.md +541 -0
- package/mod/node_modules/mime-db/LICENSE +23 -0
- package/mod/node_modules/mime-db/README.md +109 -0
- package/mod/node_modules/mime-db/db.json +9342 -0
- package/mod/node_modules/mime-db/index.js +12 -0
- package/mod/node_modules/mime-db/package.json +56 -0
- package/mod/node_modules/mime-types/HISTORY.md +428 -0
- package/mod/node_modules/mime-types/LICENSE +23 -0
- package/mod/node_modules/mime-types/README.md +126 -0
- package/mod/node_modules/mime-types/index.js +211 -0
- package/mod/node_modules/mime-types/mimeScore.js +57 -0
- package/mod/node_modules/mime-types/package.json +49 -0
- package/mod/node_modules/ms/index.js +162 -0
- package/mod/node_modules/ms/license.md +21 -0
- package/mod/node_modules/ms/package.json +38 -0
- package/mod/node_modules/ms/readme.md +59 -0
- package/mod/node_modules/negotiator/HISTORY.md +114 -0
- package/mod/node_modules/negotiator/LICENSE +24 -0
- package/mod/node_modules/negotiator/README.md +212 -0
- package/mod/node_modules/negotiator/index.js +83 -0
- package/mod/node_modules/negotiator/lib/charset.js +169 -0
- package/mod/node_modules/negotiator/lib/encoding.js +205 -0
- package/mod/node_modules/negotiator/lib/language.js +179 -0
- package/mod/node_modules/negotiator/lib/mediaType.js +294 -0
- package/mod/node_modules/negotiator/package.json +43 -0
- package/mod/node_modules/object-assign/index.js +90 -0
- package/mod/node_modules/object-assign/license +21 -0
- package/mod/node_modules/object-assign/package.json +42 -0
- package/mod/node_modules/object-assign/readme.md +61 -0
- package/mod/node_modules/object-inspect/.eslintrc +53 -0
- package/mod/node_modules/object-inspect/.github/FUNDING.yml +12 -0
- package/mod/node_modules/object-inspect/.nycrc +13 -0
- package/mod/node_modules/object-inspect/CHANGELOG.md +424 -0
- package/mod/node_modules/object-inspect/LICENSE +21 -0
- package/mod/node_modules/object-inspect/example/all.js +23 -0
- package/mod/node_modules/object-inspect/example/circular.js +6 -0
- package/mod/node_modules/object-inspect/example/fn.js +5 -0
- package/mod/node_modules/object-inspect/example/inspect.js +10 -0
- package/mod/node_modules/object-inspect/index.js +544 -0
- package/mod/node_modules/object-inspect/package-support.json +20 -0
- package/mod/node_modules/object-inspect/package.json +105 -0
- package/mod/node_modules/object-inspect/readme.markdown +84 -0
- package/mod/node_modules/object-inspect/test/bigint.js +58 -0
- package/mod/node_modules/object-inspect/test/browser/dom.js +15 -0
- package/mod/node_modules/object-inspect/test/circular.js +16 -0
- package/mod/node_modules/object-inspect/test/deep.js +12 -0
- package/mod/node_modules/object-inspect/test/element.js +53 -0
- package/mod/node_modules/object-inspect/test/err.js +48 -0
- package/mod/node_modules/object-inspect/test/fakes.js +29 -0
- package/mod/node_modules/object-inspect/test/fn.js +76 -0
- package/mod/node_modules/object-inspect/test/global.js +17 -0
- package/mod/node_modules/object-inspect/test/has.js +15 -0
- package/mod/node_modules/object-inspect/test/holes.js +15 -0
- package/mod/node_modules/object-inspect/test/indent-option.js +271 -0
- package/mod/node_modules/object-inspect/test/inspect.js +139 -0
- package/mod/node_modules/object-inspect/test/lowbyte.js +12 -0
- package/mod/node_modules/object-inspect/test/number.js +58 -0
- package/mod/node_modules/object-inspect/test/quoteStyle.js +26 -0
- package/mod/node_modules/object-inspect/test/toStringTag.js +40 -0
- package/mod/node_modules/object-inspect/test/undef.js +12 -0
- package/mod/node_modules/object-inspect/test/values.js +261 -0
- package/mod/node_modules/object-inspect/test-core-js.js +26 -0
- package/mod/node_modules/object-inspect/util.inspect.js +1 -0
- package/mod/node_modules/on-finished/HISTORY.md +98 -0
- package/mod/node_modules/on-finished/LICENSE +23 -0
- package/mod/node_modules/on-finished/README.md +162 -0
- package/mod/node_modules/on-finished/index.js +234 -0
- package/mod/node_modules/on-finished/package.json +39 -0
- package/mod/node_modules/once/LICENSE +15 -0
- package/mod/node_modules/once/README.md +79 -0
- package/mod/node_modules/once/once.js +42 -0
- package/mod/node_modules/once/package.json +33 -0
- package/mod/node_modules/parseurl/HISTORY.md +58 -0
- package/mod/node_modules/parseurl/LICENSE +24 -0
- package/mod/node_modules/parseurl/README.md +133 -0
- package/mod/node_modules/parseurl/index.js +158 -0
- package/mod/node_modules/parseurl/package.json +40 -0
- package/mod/node_modules/path-to-regexp/LICENSE +21 -0
- package/mod/node_modules/path-to-regexp/Readme.md +224 -0
- package/mod/node_modules/path-to-regexp/dist/index.d.ts +144 -0
- package/mod/node_modules/path-to-regexp/dist/index.js +409 -0
- package/mod/node_modules/path-to-regexp/dist/index.js.map +1 -0
- package/mod/node_modules/path-to-regexp/package.json +64 -0
- package/mod/node_modules/proxy-addr/HISTORY.md +161 -0
- package/mod/node_modules/proxy-addr/LICENSE +22 -0
- package/mod/node_modules/proxy-addr/README.md +139 -0
- package/mod/node_modules/proxy-addr/index.js +327 -0
- package/mod/node_modules/proxy-addr/package.json +47 -0
- package/mod/node_modules/qs/.editorconfig +46 -0
- package/mod/node_modules/qs/.github/FUNDING.yml +12 -0
- package/mod/node_modules/qs/.github/SECURITY.md +11 -0
- package/mod/node_modules/qs/.github/THREAT_MODEL.md +78 -0
- package/mod/node_modules/qs/.nycrc +13 -0
- package/mod/node_modules/qs/CHANGELOG.md +631 -0
- package/mod/node_modules/qs/LICENSE.md +29 -0
- package/mod/node_modules/qs/README.md +733 -0
- package/mod/node_modules/qs/dist/qs.js +141 -0
- package/mod/node_modules/qs/eslint.config.mjs +56 -0
- package/mod/node_modules/qs/lib/formats.js +23 -0
- package/mod/node_modules/qs/lib/index.js +11 -0
- package/mod/node_modules/qs/lib/parse.js +360 -0
- package/mod/node_modules/qs/lib/stringify.js +356 -0
- package/mod/node_modules/qs/lib/utils.js +320 -0
- package/mod/node_modules/qs/package.json +94 -0
- package/mod/node_modules/qs/test/empty-keys-cases.js +267 -0
- package/mod/node_modules/qs/test/parse.js +1396 -0
- package/mod/node_modules/qs/test/stringify.js +1310 -0
- package/mod/node_modules/qs/test/utils.js +381 -0
- package/mod/node_modules/range-parser/HISTORY.md +56 -0
- package/mod/node_modules/range-parser/LICENSE +23 -0
- package/mod/node_modules/range-parser/README.md +84 -0
- package/mod/node_modules/range-parser/index.js +162 -0
- package/mod/node_modules/range-parser/package.json +44 -0
- package/mod/node_modules/raw-body/LICENSE +22 -0
- package/mod/node_modules/raw-body/README.md +223 -0
- package/mod/node_modules/raw-body/index.d.ts +85 -0
- package/mod/node_modules/raw-body/index.js +336 -0
- package/mod/node_modules/raw-body/package.json +46 -0
- package/mod/node_modules/router/HISTORY.md +228 -0
- package/mod/node_modules/router/LICENSE +23 -0
- package/mod/node_modules/router/README.md +416 -0
- package/mod/node_modules/router/index.js +748 -0
- package/mod/node_modules/router/lib/layer.js +247 -0
- package/mod/node_modules/router/lib/route.js +242 -0
- package/mod/node_modules/router/package.json +44 -0
- package/mod/node_modules/safer-buffer/LICENSE +21 -0
- package/mod/node_modules/safer-buffer/Porting-Buffer.md +268 -0
- package/mod/node_modules/safer-buffer/Readme.md +156 -0
- package/mod/node_modules/safer-buffer/dangerous.js +58 -0
- package/mod/node_modules/safer-buffer/package.json +34 -0
- package/mod/node_modules/safer-buffer/safer.js +77 -0
- package/mod/node_modules/safer-buffer/tests.js +406 -0
- package/mod/node_modules/send/LICENSE +23 -0
- package/mod/node_modules/send/README.md +317 -0
- package/mod/node_modules/send/index.js +997 -0
- package/mod/node_modules/send/package.json +63 -0
- package/mod/node_modules/serve-static/LICENSE +25 -0
- package/mod/node_modules/serve-static/README.md +253 -0
- package/mod/node_modules/serve-static/index.js +208 -0
- package/mod/node_modules/serve-static/package.json +44 -0
- package/mod/node_modules/setprototypeof/LICENSE +13 -0
- package/mod/node_modules/setprototypeof/README.md +31 -0
- package/mod/node_modules/setprototypeof/index.d.ts +2 -0
- package/mod/node_modules/setprototypeof/index.js +17 -0
- package/mod/node_modules/setprototypeof/package.json +38 -0
- package/mod/node_modules/setprototypeof/test/index.js +24 -0
- package/mod/node_modules/side-channel/.editorconfig +9 -0
- package/mod/node_modules/side-channel/.eslintrc +12 -0
- package/mod/node_modules/side-channel/.github/FUNDING.yml +12 -0
- package/mod/node_modules/side-channel/.nycrc +13 -0
- package/mod/node_modules/side-channel/CHANGELOG.md +110 -0
- package/mod/node_modules/side-channel/LICENSE +21 -0
- package/mod/node_modules/side-channel/README.md +61 -0
- package/mod/node_modules/side-channel/index.d.ts +14 -0
- package/mod/node_modules/side-channel/index.js +43 -0
- package/mod/node_modules/side-channel/package.json +85 -0
- package/mod/node_modules/side-channel/test/index.js +104 -0
- package/mod/node_modules/side-channel/tsconfig.json +9 -0
- package/mod/node_modules/side-channel-list/.editorconfig +9 -0
- package/mod/node_modules/side-channel-list/.eslintrc +11 -0
- package/mod/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
- package/mod/node_modules/side-channel-list/.nycrc +13 -0
- package/mod/node_modules/side-channel-list/CHANGELOG.md +15 -0
- package/mod/node_modules/side-channel-list/LICENSE +21 -0
- package/mod/node_modules/side-channel-list/README.md +62 -0
- package/mod/node_modules/side-channel-list/index.d.ts +13 -0
- package/mod/node_modules/side-channel-list/index.js +113 -0
- package/mod/node_modules/side-channel-list/list.d.ts +14 -0
- package/mod/node_modules/side-channel-list/package.json +77 -0
- package/mod/node_modules/side-channel-list/test/index.js +104 -0
- package/mod/node_modules/side-channel-list/tsconfig.json +9 -0
- package/mod/node_modules/side-channel-map/.editorconfig +9 -0
- package/mod/node_modules/side-channel-map/.eslintrc +11 -0
- package/mod/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
- package/mod/node_modules/side-channel-map/.nycrc +13 -0
- package/mod/node_modules/side-channel-map/CHANGELOG.md +22 -0
- package/mod/node_modules/side-channel-map/LICENSE +21 -0
- package/mod/node_modules/side-channel-map/README.md +62 -0
- package/mod/node_modules/side-channel-map/index.d.ts +15 -0
- package/mod/node_modules/side-channel-map/index.js +68 -0
- package/mod/node_modules/side-channel-map/package.json +80 -0
- package/mod/node_modules/side-channel-map/test/index.js +114 -0
- package/mod/node_modules/side-channel-map/tsconfig.json +9 -0
- package/mod/node_modules/side-channel-weakmap/.editorconfig +9 -0
- package/mod/node_modules/side-channel-weakmap/.eslintrc +12 -0
- package/mod/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
- package/mod/node_modules/side-channel-weakmap/.nycrc +13 -0
- package/mod/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
- package/mod/node_modules/side-channel-weakmap/LICENSE +21 -0
- package/mod/node_modules/side-channel-weakmap/README.md +62 -0
- package/mod/node_modules/side-channel-weakmap/index.d.ts +15 -0
- package/mod/node_modules/side-channel-weakmap/index.js +84 -0
- package/mod/node_modules/side-channel-weakmap/package.json +87 -0
- package/mod/node_modules/side-channel-weakmap/test/index.js +114 -0
- package/mod/node_modules/side-channel-weakmap/tsconfig.json +9 -0
- package/mod/node_modules/statuses/HISTORY.md +87 -0
- package/mod/node_modules/statuses/LICENSE +23 -0
- package/mod/node_modules/statuses/README.md +139 -0
- package/mod/node_modules/statuses/codes.json +65 -0
- package/mod/node_modules/statuses/index.js +146 -0
- package/mod/node_modules/statuses/package.json +49 -0
- package/mod/node_modules/toidentifier/HISTORY.md +9 -0
- package/mod/node_modules/toidentifier/LICENSE +21 -0
- package/mod/node_modules/toidentifier/README.md +61 -0
- package/mod/node_modules/toidentifier/index.js +32 -0
- package/mod/node_modules/toidentifier/package.json +38 -0
- package/mod/node_modules/type-is/HISTORY.md +292 -0
- package/mod/node_modules/type-is/LICENSE +23 -0
- package/mod/node_modules/type-is/README.md +198 -0
- package/mod/node_modules/type-is/index.js +250 -0
- package/mod/node_modules/type-is/package.json +47 -0
- package/mod/node_modules/unpipe/HISTORY.md +4 -0
- package/mod/node_modules/unpipe/LICENSE +22 -0
- package/mod/node_modules/unpipe/README.md +43 -0
- package/mod/node_modules/unpipe/index.js +69 -0
- package/mod/node_modules/unpipe/package.json +27 -0
- package/mod/node_modules/vary/HISTORY.md +39 -0
- package/mod/node_modules/vary/LICENSE +22 -0
- package/mod/node_modules/vary/README.md +101 -0
- package/mod/node_modules/vary/index.js +149 -0
- package/mod/node_modules/vary/package.json +43 -0
- package/mod/node_modules/wrappy/LICENSE +15 -0
- package/mod/node_modules/wrappy/README.md +36 -0
- package/mod/node_modules/wrappy/package.json +29 -0
- package/mod/node_modules/wrappy/wrappy.js +33 -0
- package/mod/package-lock.json +854 -0
- package/mod/package.json +16 -0
- package/package.json +19 -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
|
+
}
|