es6-crawler-detect 3.3.0 → 4.0.0-beta.2
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/.babelrc +1 -1
- package/.mocharc.json +5 -0
- package/README.md +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/crawler/crawlers.d.ts +5 -0
- package/dist/lib/crawler/crawlers.d.ts.map +1 -0
- package/dist/lib/crawler/crawlers.js +1400 -0
- package/dist/lib/crawler/crawlers.js.map +1 -0
- package/dist/lib/crawler/exclusions.d.ts +5 -0
- package/dist/lib/crawler/exclusions.d.ts.map +1 -0
- package/dist/lib/crawler/exclusions.js +59 -0
- package/dist/lib/crawler/exclusions.js.map +1 -0
- package/dist/lib/crawler/headers.d.ts +5 -0
- package/dist/lib/crawler/headers.d.ts.map +1 -0
- package/dist/lib/crawler/headers.js +21 -0
- package/dist/lib/crawler/headers.js.map +1 -0
- package/dist/lib/crawler/provider.d.ts +4 -0
- package/dist/lib/crawler/provider.d.ts.map +1 -0
- package/dist/lib/crawler/provider.js +3 -0
- package/dist/lib/crawler/provider.js.map +1 -0
- package/dist/lib/crawler.d.ts +21 -0
- package/dist/lib/crawler.d.ts.map +1 -0
- package/dist/lib/crawler.js +98 -0
- package/dist/lib/crawler.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/eslint.config.mjs +62 -0
- package/example/node/package.json +1 -1
- package/example/node/yarn.lock +222 -99
- package/package.json +30 -24
- package/src/index.ts +18 -0
- package/src/lib/crawler/{crawlers.js → crawlers.ts} +1397 -1403
- package/src/lib/crawler/{exclusions.js → exclusions.ts} +56 -62
- package/src/lib/crawler/{headers.js → headers.ts} +4 -10
- package/src/lib/crawler/provider.ts +3 -0
- package/src/lib/crawler.ts +128 -0
- package/src/types.ts +15 -0
- package/test/lib/crawler.spec.ts +116 -0
- package/tsconfig.json +28 -0
- package/.eslintignore +0 -6
- package/.eslintrc.json +0 -30
- package/dist/main.bundle.js +0 -1
- package/example/node/dist/crawler.min.js +0 -1
- package/example/node/node_modules/.bin/mime +0 -15
- package/example/node/node_modules/.bin/mime.cmd +0 -7
- package/example/node/node_modules/.yarn-integrity +0 -67
- package/example/node/node_modules/accepts/HISTORY.md +0 -236
- package/example/node/node_modules/accepts/LICENSE +0 -23
- package/example/node/node_modules/accepts/README.md +0 -142
- package/example/node/node_modules/accepts/index.js +0 -238
- package/example/node/node_modules/accepts/package.json +0 -47
- package/example/node/node_modules/array-flatten/LICENSE +0 -21
- package/example/node/node_modules/array-flatten/README.md +0 -43
- package/example/node/node_modules/array-flatten/array-flatten.js +0 -64
- package/example/node/node_modules/array-flatten/package.json +0 -39
- package/example/node/node_modules/body-parser/HISTORY.md +0 -624
- package/example/node/node_modules/body-parser/LICENSE +0 -23
- package/example/node/node_modules/body-parser/README.md +0 -456
- package/example/node/node_modules/body-parser/index.js +0 -157
- package/example/node/node_modules/body-parser/lib/read.js +0 -181
- package/example/node/node_modules/body-parser/lib/types/json.js +0 -230
- package/example/node/node_modules/body-parser/lib/types/raw.js +0 -101
- package/example/node/node_modules/body-parser/lib/types/text.js +0 -121
- package/example/node/node_modules/body-parser/lib/types/urlencoded.js +0 -284
- package/example/node/node_modules/body-parser/package.json +0 -52
- package/example/node/node_modules/bytes/History.md +0 -92
- package/example/node/node_modules/bytes/LICENSE +0 -23
- package/example/node/node_modules/bytes/Readme.md +0 -152
- package/example/node/node_modules/bytes/index.js +0 -166
- package/example/node/node_modules/bytes/package.json +0 -42
- package/example/node/node_modules/content-disposition/HISTORY.md +0 -60
- package/example/node/node_modules/content-disposition/LICENSE +0 -22
- package/example/node/node_modules/content-disposition/README.md +0 -142
- package/example/node/node_modules/content-disposition/index.js +0 -458
- package/example/node/node_modules/content-disposition/package.json +0 -44
- package/example/node/node_modules/content-type/HISTORY.md +0 -24
- package/example/node/node_modules/content-type/LICENSE +0 -22
- package/example/node/node_modules/content-type/README.md +0 -92
- package/example/node/node_modules/content-type/index.js +0 -222
- package/example/node/node_modules/content-type/package.json +0 -40
- package/example/node/node_modules/cookie/HISTORY.md +0 -128
- package/example/node/node_modules/cookie/LICENSE +0 -24
- package/example/node/node_modules/cookie/README.md +0 -257
- package/example/node/node_modules/cookie/index.js +0 -202
- package/example/node/node_modules/cookie/package.json +0 -40
- package/example/node/node_modules/cookie-signature/History.md +0 -38
- package/example/node/node_modules/cookie-signature/Readme.md +0 -42
- package/example/node/node_modules/cookie-signature/index.js +0 -51
- package/example/node/node_modules/cookie-signature/package.json +0 -18
- package/example/node/node_modules/debug/.coveralls.yml +0 -1
- package/example/node/node_modules/debug/.eslintrc +0 -11
- package/example/node/node_modules/debug/.travis.yml +0 -14
- package/example/node/node_modules/debug/CHANGELOG.md +0 -362
- package/example/node/node_modules/debug/LICENSE +0 -19
- package/example/node/node_modules/debug/Makefile +0 -50
- package/example/node/node_modules/debug/README.md +0 -312
- package/example/node/node_modules/debug/component.json +0 -19
- package/example/node/node_modules/debug/karma.conf.js +0 -70
- package/example/node/node_modules/debug/node.js +0 -1
- package/example/node/node_modules/debug/package.json +0 -49
- package/example/node/node_modules/debug/src/browser.js +0 -185
- package/example/node/node_modules/debug/src/debug.js +0 -202
- package/example/node/node_modules/debug/src/index.js +0 -10
- package/example/node/node_modules/debug/src/inspector-log.js +0 -15
- package/example/node/node_modules/debug/src/node.js +0 -248
- package/example/node/node_modules/depd/History.md +0 -96
- package/example/node/node_modules/depd/LICENSE +0 -22
- package/example/node/node_modules/depd/Readme.md +0 -280
- package/example/node/node_modules/depd/index.js +0 -522
- package/example/node/node_modules/depd/lib/browser/index.js +0 -77
- package/example/node/node_modules/depd/lib/compat/callsite-tostring.js +0 -103
- package/example/node/node_modules/depd/lib/compat/event-listener-count.js +0 -22
- package/example/node/node_modules/depd/lib/compat/index.js +0 -79
- package/example/node/node_modules/depd/package.json +0 -41
- package/example/node/node_modules/destroy/LICENSE +0 -22
- package/example/node/node_modules/destroy/README.md +0 -60
- package/example/node/node_modules/destroy/index.js +0 -75
- package/example/node/node_modules/destroy/package.json +0 -37
- package/example/node/node_modules/ee-first/LICENSE +0 -22
- package/example/node/node_modules/ee-first/README.md +0 -80
- package/example/node/node_modules/ee-first/index.js +0 -95
- package/example/node/node_modules/ee-first/package.json +0 -29
- package/example/node/node_modules/encodeurl/HISTORY.md +0 -14
- package/example/node/node_modules/encodeurl/LICENSE +0 -22
- package/example/node/node_modules/encodeurl/README.md +0 -128
- package/example/node/node_modules/encodeurl/index.js +0 -60
- package/example/node/node_modules/encodeurl/package.json +0 -40
- package/example/node/node_modules/escape-html/LICENSE +0 -24
- package/example/node/node_modules/escape-html/Readme.md +0 -43
- package/example/node/node_modules/escape-html/index.js +0 -78
- package/example/node/node_modules/escape-html/package.json +0 -24
- package/example/node/node_modules/etag/HISTORY.md +0 -83
- package/example/node/node_modules/etag/LICENSE +0 -22
- package/example/node/node_modules/etag/README.md +0 -159
- package/example/node/node_modules/etag/index.js +0 -131
- package/example/node/node_modules/etag/package.json +0 -47
- package/example/node/node_modules/express/History.md +0 -3510
- package/example/node/node_modules/express/LICENSE +0 -24
- package/example/node/node_modules/express/Readme.md +0 -158
- package/example/node/node_modules/express/index.js +0 -11
- package/example/node/node_modules/express/lib/application.js +0 -644
- package/example/node/node_modules/express/lib/express.js +0 -116
- package/example/node/node_modules/express/lib/middleware/init.js +0 -43
- package/example/node/node_modules/express/lib/middleware/query.js +0 -47
- package/example/node/node_modules/express/lib/request.js +0 -525
- package/example/node/node_modules/express/lib/response.js +0 -1147
- package/example/node/node_modules/express/lib/router/index.js +0 -668
- package/example/node/node_modules/express/lib/router/layer.js +0 -181
- package/example/node/node_modules/express/lib/router/route.js +0 -216
- package/example/node/node_modules/express/lib/utils.js +0 -302
- package/example/node/node_modules/express/lib/view.js +0 -182
- package/example/node/node_modules/express/package.json +0 -99
- package/example/node/node_modules/finalhandler/HISTORY.md +0 -187
- package/example/node/node_modules/finalhandler/LICENSE +0 -22
- package/example/node/node_modules/finalhandler/README.md +0 -148
- package/example/node/node_modules/finalhandler/index.js +0 -331
- package/example/node/node_modules/finalhandler/package.json +0 -45
- package/example/node/node_modules/forwarded/HISTORY.md +0 -21
- package/example/node/node_modules/forwarded/LICENSE +0 -22
- package/example/node/node_modules/forwarded/README.md +0 -57
- package/example/node/node_modules/forwarded/index.js +0 -90
- package/example/node/node_modules/forwarded/package.json +0 -45
- package/example/node/node_modules/fresh/HISTORY.md +0 -70
- package/example/node/node_modules/fresh/LICENSE +0 -23
- package/example/node/node_modules/fresh/README.md +0 -119
- package/example/node/node_modules/fresh/index.js +0 -137
- package/example/node/node_modules/fresh/package.json +0 -46
- package/example/node/node_modules/http-errors/HISTORY.md +0 -165
- package/example/node/node_modules/http-errors/LICENSE +0 -23
- package/example/node/node_modules/http-errors/README.md +0 -169
- package/example/node/node_modules/http-errors/index.js +0 -299
- package/example/node/node_modules/http-errors/package.json +0 -49
- package/example/node/node_modules/iconv-lite/Changelog.md +0 -162
- package/example/node/node_modules/iconv-lite/LICENSE +0 -21
- package/example/node/node_modules/iconv-lite/README.md +0 -156
- package/example/node/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
- package/example/node/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
- package/example/node/node_modules/iconv-lite/encodings/index.js +0 -22
- package/example/node/node_modules/iconv-lite/encodings/internal.js +0 -188
- package/example/node/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
- package/example/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
- package/example/node/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
- package/example/node/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
- package/example/node/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
- package/example/node/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
- package/example/node/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
- package/example/node/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
- package/example/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
- package/example/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
- package/example/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
- package/example/node/node_modules/iconv-lite/encodings/utf16.js +0 -177
- package/example/node/node_modules/iconv-lite/encodings/utf7.js +0 -290
- package/example/node/node_modules/iconv-lite/lib/bom-handling.js +0 -52
- package/example/node/node_modules/iconv-lite/lib/extend-node.js +0 -217
- package/example/node/node_modules/iconv-lite/lib/index.d.ts +0 -24
- package/example/node/node_modules/iconv-lite/lib/index.js +0 -153
- package/example/node/node_modules/iconv-lite/lib/streams.js +0 -121
- package/example/node/node_modules/iconv-lite/package.json +0 -46
- package/example/node/node_modules/inherits/LICENSE +0 -16
- package/example/node/node_modules/inherits/README.md +0 -42
- package/example/node/node_modules/inherits/inherits.js +0 -9
- package/example/node/node_modules/inherits/inherits_browser.js +0 -27
- package/example/node/node_modules/inherits/package.json +0 -29
- package/example/node/node_modules/ipaddr.js/LICENSE +0 -19
- package/example/node/node_modules/ipaddr.js/README.md +0 -233
- package/example/node/node_modules/ipaddr.js/ipaddr.min.js +0 -1
- package/example/node/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
- package/example/node/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
- package/example/node/node_modules/ipaddr.js/package.json +0 -35
- package/example/node/node_modules/media-typer/HISTORY.md +0 -22
- package/example/node/node_modules/media-typer/LICENSE +0 -22
- package/example/node/node_modules/media-typer/README.md +0 -81
- package/example/node/node_modules/media-typer/index.js +0 -270
- package/example/node/node_modules/media-typer/package.json +0 -26
- package/example/node/node_modules/merge-descriptors/HISTORY.md +0 -21
- package/example/node/node_modules/merge-descriptors/LICENSE +0 -23
- package/example/node/node_modules/merge-descriptors/README.md +0 -48
- package/example/node/node_modules/merge-descriptors/index.js +0 -60
- package/example/node/node_modules/merge-descriptors/package.json +0 -32
- package/example/node/node_modules/methods/HISTORY.md +0 -29
- package/example/node/node_modules/methods/LICENSE +0 -24
- package/example/node/node_modules/methods/README.md +0 -51
- package/example/node/node_modules/methods/index.js +0 -69
- package/example/node/node_modules/methods/package.json +0 -36
- package/example/node/node_modules/mime/CHANGELOG.md +0 -164
- package/example/node/node_modules/mime/LICENSE +0 -21
- package/example/node/node_modules/mime/README.md +0 -90
- package/example/node/node_modules/mime/cli.js +0 -8
- package/example/node/node_modules/mime/mime.js +0 -108
- package/example/node/node_modules/mime/package.json +0 -44
- package/example/node/node_modules/mime/src/build.js +0 -53
- package/example/node/node_modules/mime/src/test.js +0 -60
- package/example/node/node_modules/mime/types.json +0 -1
- package/example/node/node_modules/mime-db/HISTORY.md +0 -499
- package/example/node/node_modules/mime-db/LICENSE +0 -22
- package/example/node/node_modules/mime-db/README.md +0 -100
- package/example/node/node_modules/mime-db/db.json +0 -8471
- package/example/node/node_modules/mime-db/index.js +0 -11
- package/example/node/node_modules/mime-db/package.json +0 -59
- package/example/node/node_modules/mime-types/HISTORY.md +0 -388
- package/example/node/node_modules/mime-types/LICENSE +0 -23
- package/example/node/node_modules/mime-types/README.md +0 -113
- package/example/node/node_modules/mime-types/index.js +0 -188
- package/example/node/node_modules/mime-types/package.json +0 -44
- package/example/node/node_modules/ms/index.js +0 -152
- package/example/node/node_modules/ms/license.md +0 -21
- package/example/node/node_modules/ms/package.json +0 -37
- package/example/node/node_modules/ms/readme.md +0 -51
- package/example/node/node_modules/negotiator/HISTORY.md +0 -103
- package/example/node/node_modules/negotiator/LICENSE +0 -24
- package/example/node/node_modules/negotiator/README.md +0 -203
- package/example/node/node_modules/negotiator/index.js +0 -124
- package/example/node/node_modules/negotiator/lib/charset.js +0 -169
- package/example/node/node_modules/negotiator/lib/encoding.js +0 -184
- package/example/node/node_modules/negotiator/lib/language.js +0 -179
- package/example/node/node_modules/negotiator/lib/mediaType.js +0 -294
- package/example/node/node_modules/negotiator/package.json +0 -42
- package/example/node/node_modules/on-finished/HISTORY.md +0 -88
- package/example/node/node_modules/on-finished/LICENSE +0 -23
- package/example/node/node_modules/on-finished/README.md +0 -154
- package/example/node/node_modules/on-finished/index.js +0 -196
- package/example/node/node_modules/on-finished/package.json +0 -31
- package/example/node/node_modules/parseurl/HISTORY.md +0 -58
- package/example/node/node_modules/parseurl/LICENSE +0 -24
- package/example/node/node_modules/parseurl/README.md +0 -133
- package/example/node/node_modules/parseurl/index.js +0 -158
- package/example/node/node_modules/parseurl/package.json +0 -40
- package/example/node/node_modules/path-to-regexp/History.md +0 -36
- package/example/node/node_modules/path-to-regexp/LICENSE +0 -21
- package/example/node/node_modules/path-to-regexp/Readme.md +0 -35
- package/example/node/node_modules/path-to-regexp/index.js +0 -129
- package/example/node/node_modules/path-to-regexp/package.json +0 -30
- package/example/node/node_modules/proxy-addr/HISTORY.md +0 -161
- package/example/node/node_modules/proxy-addr/LICENSE +0 -22
- package/example/node/node_modules/proxy-addr/README.md +0 -139
- package/example/node/node_modules/proxy-addr/index.js +0 -327
- package/example/node/node_modules/proxy-addr/package.json +0 -47
- package/example/node/node_modules/qs/.editorconfig +0 -39
- package/example/node/node_modules/qs/.eslintignore +0 -2
- package/example/node/node_modules/qs/.eslintrc +0 -35
- package/example/node/node_modules/qs/.github/FUNDING.yml +0 -12
- package/example/node/node_modules/qs/.nycrc +0 -13
- package/example/node/node_modules/qs/CHANGELOG.md +0 -359
- package/example/node/node_modules/qs/LICENSE.md +0 -29
- package/example/node/node_modules/qs/README.md +0 -604
- package/example/node/node_modules/qs/dist/qs.js +0 -832
- package/example/node/node_modules/qs/lib/formats.js +0 -23
- package/example/node/node_modules/qs/lib/index.js +0 -11
- package/example/node/node_modules/qs/lib/parse.js +0 -257
- package/example/node/node_modules/qs/lib/stringify.js +0 -278
- package/example/node/node_modules/qs/lib/utils.js +0 -251
- package/example/node/node_modules/qs/package.json +0 -69
- package/example/node/node_modules/qs/test/parse.js +0 -772
- package/example/node/node_modules/qs/test/stringify.js +0 -793
- package/example/node/node_modules/qs/test/utils.js +0 -136
- package/example/node/node_modules/range-parser/HISTORY.md +0 -56
- package/example/node/node_modules/range-parser/LICENSE +0 -23
- package/example/node/node_modules/range-parser/README.md +0 -84
- package/example/node/node_modules/range-parser/index.js +0 -162
- package/example/node/node_modules/range-parser/package.json +0 -44
- package/example/node/node_modules/raw-body/HISTORY.md +0 -284
- package/example/node/node_modules/raw-body/LICENSE +0 -22
- package/example/node/node_modules/raw-body/README.md +0 -217
- package/example/node/node_modules/raw-body/index.d.ts +0 -87
- package/example/node/node_modules/raw-body/index.js +0 -286
- package/example/node/node_modules/raw-body/package.json +0 -48
- package/example/node/node_modules/safe-buffer/LICENSE +0 -21
- package/example/node/node_modules/safe-buffer/README.md +0 -584
- package/example/node/node_modules/safe-buffer/index.d.ts +0 -187
- package/example/node/node_modules/safe-buffer/index.js +0 -65
- package/example/node/node_modules/safe-buffer/package.json +0 -51
- package/example/node/node_modules/safer-buffer/LICENSE +0 -21
- package/example/node/node_modules/safer-buffer/Porting-Buffer.md +0 -268
- package/example/node/node_modules/safer-buffer/Readme.md +0 -156
- package/example/node/node_modules/safer-buffer/dangerous.js +0 -58
- package/example/node/node_modules/safer-buffer/package.json +0 -34
- package/example/node/node_modules/safer-buffer/safer.js +0 -77
- package/example/node/node_modules/safer-buffer/tests.js +0 -406
- package/example/node/node_modules/send/HISTORY.md +0 -506
- package/example/node/node_modules/send/LICENSE +0 -23
- package/example/node/node_modules/send/README.md +0 -327
- package/example/node/node_modules/send/index.js +0 -1133
- package/example/node/node_modules/send/node_modules/.bin/mime +0 -15
- package/example/node/node_modules/send/node_modules/.bin/mime.cmd +0 -7
- package/example/node/node_modules/send/node_modules/ms/index.js +0 -162
- package/example/node/node_modules/send/node_modules/ms/license.md +0 -21
- package/example/node/node_modules/send/node_modules/ms/package.json +0 -38
- package/example/node/node_modules/send/node_modules/ms/readme.md +0 -59
- package/example/node/node_modules/send/package.json +0 -61
- package/example/node/node_modules/serve-static/HISTORY.md +0 -459
- package/example/node/node_modules/serve-static/LICENSE +0 -25
- package/example/node/node_modules/serve-static/README.md +0 -257
- package/example/node/node_modules/serve-static/index.js +0 -210
- package/example/node/node_modules/serve-static/package.json +0 -42
- package/example/node/node_modules/setprototypeof/LICENSE +0 -13
- package/example/node/node_modules/setprototypeof/README.md +0 -31
- package/example/node/node_modules/setprototypeof/index.d.ts +0 -2
- package/example/node/node_modules/setprototypeof/index.js +0 -17
- package/example/node/node_modules/setprototypeof/package.json +0 -38
- package/example/node/node_modules/setprototypeof/test/index.js +0 -24
- package/example/node/node_modules/statuses/HISTORY.md +0 -65
- package/example/node/node_modules/statuses/LICENSE +0 -23
- package/example/node/node_modules/statuses/README.md +0 -127
- package/example/node/node_modules/statuses/codes.json +0 -66
- package/example/node/node_modules/statuses/index.js +0 -113
- package/example/node/node_modules/statuses/package.json +0 -48
- package/example/node/node_modules/toidentifier/HISTORY.md +0 -9
- package/example/node/node_modules/toidentifier/LICENSE +0 -21
- package/example/node/node_modules/toidentifier/README.md +0 -61
- package/example/node/node_modules/toidentifier/index.js +0 -32
- package/example/node/node_modules/toidentifier/package.json +0 -38
- package/example/node/node_modules/type-is/HISTORY.md +0 -259
- package/example/node/node_modules/type-is/LICENSE +0 -23
- package/example/node/node_modules/type-is/README.md +0 -170
- package/example/node/node_modules/type-is/index.js +0 -266
- package/example/node/node_modules/type-is/package.json +0 -45
- package/example/node/node_modules/unpipe/HISTORY.md +0 -4
- package/example/node/node_modules/unpipe/LICENSE +0 -22
- package/example/node/node_modules/unpipe/README.md +0 -43
- package/example/node/node_modules/unpipe/index.js +0 -69
- package/example/node/node_modules/unpipe/package.json +0 -27
- package/example/node/node_modules/utils-merge/LICENSE +0 -20
- package/example/node/node_modules/utils-merge/README.md +0 -34
- package/example/node/node_modules/utils-merge/index.js +0 -23
- package/example/node/node_modules/utils-merge/package.json +0 -40
- package/example/node/node_modules/vary/HISTORY.md +0 -39
- package/example/node/node_modules/vary/LICENSE +0 -22
- package/example/node/node_modules/vary/README.md +0 -101
- package/example/node/node_modules/vary/index.js +0 -149
- package/example/node/node_modules/vary/package.json +0 -43
- package/example/node/server.js +0 -38
- package/src/index.js +0 -16
- package/src/lib/crawler/provider.js +0 -11
- package/src/lib/crawler.js +0 -130
- package/test/lib/crawler.test.js +0 -94
- package/webpack.common.js +0 -20
- package/webpack.dev.js +0 -7
- package/webpack.prod.js +0 -14
@@ -1,119 +0,0 @@
|
|
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][travis-image]][travis-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
|
-
<!-- eslint-disable no-unused-vars -->
|
24
|
-
|
25
|
-
```js
|
26
|
-
var fresh = require('fresh')
|
27
|
-
```
|
28
|
-
|
29
|
-
### fresh(reqHeaders, resHeaders)
|
30
|
-
|
31
|
-
Check freshness of the response using request and response headers.
|
32
|
-
|
33
|
-
When the response is still "fresh" in the client's cache `true` is
|
34
|
-
returned, otherwise `false` is returned to indicate that the client
|
35
|
-
cache is now stale and the full response should be sent.
|
36
|
-
|
37
|
-
When a client sends the `Cache-Control: no-cache` request header to
|
38
|
-
indicate an end-to-end reload request, this module will return `false`
|
39
|
-
to make handling these requests transparent.
|
40
|
-
|
41
|
-
## Known Issues
|
42
|
-
|
43
|
-
This module is designed to only follow the HTTP specifications, not
|
44
|
-
to work-around all kinda of client bugs (especially since this module
|
45
|
-
typically does not recieve enough information to understand what the
|
46
|
-
client actually is).
|
47
|
-
|
48
|
-
There is a known issue that in certain versions of Safari, Safari
|
49
|
-
will incorrectly make a request that allows this module to validate
|
50
|
-
freshness of the resource even when Safari does not have a
|
51
|
-
representation of the resource in the cache. The module
|
52
|
-
[jumanji](https://www.npmjs.com/package/jumanji) can be used in
|
53
|
-
an Express application to work-around this issue and also provides
|
54
|
-
links to further reading on this Safari bug.
|
55
|
-
|
56
|
-
## Example
|
57
|
-
|
58
|
-
### API usage
|
59
|
-
|
60
|
-
<!-- eslint-disable no-redeclare, no-undef -->
|
61
|
-
|
62
|
-
```js
|
63
|
-
var reqHeaders = { 'if-none-match': '"foo"' }
|
64
|
-
var resHeaders = { 'etag': '"bar"' }
|
65
|
-
fresh(reqHeaders, resHeaders)
|
66
|
-
// => false
|
67
|
-
|
68
|
-
var reqHeaders = { 'if-none-match': '"foo"' }
|
69
|
-
var resHeaders = { 'etag': '"foo"' }
|
70
|
-
fresh(reqHeaders, resHeaders)
|
71
|
-
// => true
|
72
|
-
```
|
73
|
-
|
74
|
-
### Using with Node.js http server
|
75
|
-
|
76
|
-
```js
|
77
|
-
var fresh = require('fresh')
|
78
|
-
var http = require('http')
|
79
|
-
|
80
|
-
var server = http.createServer(function (req, res) {
|
81
|
-
// perform server logic
|
82
|
-
// ... including adding ETag / Last-Modified response headers
|
83
|
-
|
84
|
-
if (isFresh(req, res)) {
|
85
|
-
// client has a fresh copy of resource
|
86
|
-
res.statusCode = 304
|
87
|
-
res.end()
|
88
|
-
return
|
89
|
-
}
|
90
|
-
|
91
|
-
// send the resource
|
92
|
-
res.statusCode = 200
|
93
|
-
res.end('hello, world!')
|
94
|
-
})
|
95
|
-
|
96
|
-
function isFresh (req, res) {
|
97
|
-
return fresh(req.headers, {
|
98
|
-
'etag': res.getHeader('ETag'),
|
99
|
-
'last-modified': res.getHeader('Last-Modified')
|
100
|
-
})
|
101
|
-
}
|
102
|
-
|
103
|
-
server.listen(3000)
|
104
|
-
```
|
105
|
-
|
106
|
-
## License
|
107
|
-
|
108
|
-
[MIT](LICENSE)
|
109
|
-
|
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
|
-
[travis-image]: https://img.shields.io/travis/jshttp/fresh/master.svg
|
115
|
-
[travis-url]: https://travis-ci.org/jshttp/fresh
|
116
|
-
[coveralls-image]: https://img.shields.io/coveralls/jshttp/fresh/master.svg
|
117
|
-
[coveralls-url]: https://coveralls.io/r/jshttp/fresh?branch=master
|
118
|
-
[downloads-image]: https://img.shields.io/npm/dm/fresh.svg
|
119
|
-
[downloads-url]: https://npmjs.org/package/fresh
|
@@ -1,137 +0,0 @@
|
|
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
|
52
|
-
if (noneMatch && noneMatch !== '*') {
|
53
|
-
var etag = resHeaders['etag']
|
54
|
-
|
55
|
-
if (!etag) {
|
56
|
-
return false
|
57
|
-
}
|
58
|
-
|
59
|
-
var etagStale = true
|
60
|
-
var matches = parseTokenList(noneMatch)
|
61
|
-
for (var i = 0; i < matches.length; i++) {
|
62
|
-
var match = matches[i]
|
63
|
-
if (match === etag || match === 'W/' + etag || 'W/' + match === etag) {
|
64
|
-
etagStale = false
|
65
|
-
break
|
66
|
-
}
|
67
|
-
}
|
68
|
-
|
69
|
-
if (etagStale) {
|
70
|
-
return false
|
71
|
-
}
|
72
|
-
}
|
73
|
-
|
74
|
-
// if-modified-since
|
75
|
-
if (modifiedSince) {
|
76
|
-
var lastModified = resHeaders['last-modified']
|
77
|
-
var modifiedStale = !lastModified || !(parseHttpDate(lastModified) <= parseHttpDate(modifiedSince))
|
78
|
-
|
79
|
-
if (modifiedStale) {
|
80
|
-
return false
|
81
|
-
}
|
82
|
-
}
|
83
|
-
|
84
|
-
return true
|
85
|
-
}
|
86
|
-
|
87
|
-
/**
|
88
|
-
* Parse an HTTP Date into a number.
|
89
|
-
*
|
90
|
-
* @param {string} date
|
91
|
-
* @private
|
92
|
-
*/
|
93
|
-
|
94
|
-
function parseHttpDate (date) {
|
95
|
-
var timestamp = date && Date.parse(date)
|
96
|
-
|
97
|
-
// istanbul ignore next: guard against date.js Date.parse patching
|
98
|
-
return typeof timestamp === 'number'
|
99
|
-
? timestamp
|
100
|
-
: NaN
|
101
|
-
}
|
102
|
-
|
103
|
-
/**
|
104
|
-
* Parse a HTTP token list.
|
105
|
-
*
|
106
|
-
* @param {string} str
|
107
|
-
* @private
|
108
|
-
*/
|
109
|
-
|
110
|
-
function parseTokenList (str) {
|
111
|
-
var end = 0
|
112
|
-
var list = []
|
113
|
-
var start = 0
|
114
|
-
|
115
|
-
// gather tokens
|
116
|
-
for (var i = 0, len = str.length; i < len; i++) {
|
117
|
-
switch (str.charCodeAt(i)) {
|
118
|
-
case 0x20: /* */
|
119
|
-
if (start === end) {
|
120
|
-
start = end = i + 1
|
121
|
-
}
|
122
|
-
break
|
123
|
-
case 0x2c: /* , */
|
124
|
-
list.push(str.substring(start, end))
|
125
|
-
start = end = i + 1
|
126
|
-
break
|
127
|
-
default:
|
128
|
-
end = i + 1
|
129
|
-
break
|
130
|
-
}
|
131
|
-
}
|
132
|
-
|
133
|
-
// final token
|
134
|
-
list.push(str.substring(start, end))
|
135
|
-
|
136
|
-
return list
|
137
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "fresh",
|
3
|
-
"description": "HTTP response freshness testing",
|
4
|
-
"version": "0.5.2",
|
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": "3.19.0",
|
22
|
-
"eslint-config-standard": "10.2.1",
|
23
|
-
"eslint-plugin-import": "2.7.0",
|
24
|
-
"eslint-plugin-markdown": "1.0.0-beta.6",
|
25
|
-
"eslint-plugin-node": "5.1.1",
|
26
|
-
"eslint-plugin-promise": "3.5.0",
|
27
|
-
"eslint-plugin-standard": "3.0.1",
|
28
|
-
"istanbul": "0.4.5",
|
29
|
-
"mocha": "1.21.5"
|
30
|
-
},
|
31
|
-
"files": [
|
32
|
-
"HISTORY.md",
|
33
|
-
"LICENSE",
|
34
|
-
"index.js"
|
35
|
-
],
|
36
|
-
"engines": {
|
37
|
-
"node": ">= 0.6"
|
38
|
-
},
|
39
|
-
"scripts": {
|
40
|
-
"bench": "node benchmark/index.js",
|
41
|
-
"lint": "eslint --plugin markdown --ext js,md .",
|
42
|
-
"test": "mocha --reporter spec --bail --check-leaks test/",
|
43
|
-
"test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
|
44
|
-
"test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
|
45
|
-
}
|
46
|
-
}
|
@@ -1,165 +0,0 @@
|
|
1
|
-
2021-11-14 / 1.8.1
|
2
|
-
==================
|
3
|
-
|
4
|
-
* deps: toidentifier@1.0.1
|
5
|
-
|
6
|
-
2020-06-29 / 1.8.0
|
7
|
-
==================
|
8
|
-
|
9
|
-
* Add `isHttpError` export to determine if value is an HTTP error
|
10
|
-
* deps: setprototypeof@1.2.0
|
11
|
-
|
12
|
-
2019-06-24 / 1.7.3
|
13
|
-
==================
|
14
|
-
|
15
|
-
* deps: inherits@2.0.4
|
16
|
-
|
17
|
-
2019-02-18 / 1.7.2
|
18
|
-
==================
|
19
|
-
|
20
|
-
* deps: setprototypeof@1.1.1
|
21
|
-
|
22
|
-
2018-09-08 / 1.7.1
|
23
|
-
==================
|
24
|
-
|
25
|
-
* Fix error creating objects in some environments
|
26
|
-
|
27
|
-
2018-07-30 / 1.7.0
|
28
|
-
==================
|
29
|
-
|
30
|
-
* Set constructor name when possible
|
31
|
-
* Use `toidentifier` module to make class names
|
32
|
-
* deps: statuses@'>= 1.5.0 < 2'
|
33
|
-
|
34
|
-
2018-03-29 / 1.6.3
|
35
|
-
==================
|
36
|
-
|
37
|
-
* deps: depd@~1.1.2
|
38
|
-
- perf: remove argument reassignment
|
39
|
-
* deps: setprototypeof@1.1.0
|
40
|
-
* deps: statuses@'>= 1.4.0 < 2'
|
41
|
-
|
42
|
-
2017-08-04 / 1.6.2
|
43
|
-
==================
|
44
|
-
|
45
|
-
* deps: depd@1.1.1
|
46
|
-
- Remove unnecessary `Buffer` loading
|
47
|
-
|
48
|
-
2017-02-20 / 1.6.1
|
49
|
-
==================
|
50
|
-
|
51
|
-
* deps: setprototypeof@1.0.3
|
52
|
-
- Fix shim for old browsers
|
53
|
-
|
54
|
-
2017-02-14 / 1.6.0
|
55
|
-
==================
|
56
|
-
|
57
|
-
* Accept custom 4xx and 5xx status codes in factory
|
58
|
-
* Add deprecation message to `"I'mateapot"` export
|
59
|
-
* Deprecate passing status code as anything except first argument in factory
|
60
|
-
* Deprecate using non-error status codes
|
61
|
-
* Make `message` property enumerable for `HttpError`s
|
62
|
-
|
63
|
-
2016-11-16 / 1.5.1
|
64
|
-
==================
|
65
|
-
|
66
|
-
* deps: inherits@2.0.3
|
67
|
-
- Fix issue loading in browser
|
68
|
-
* deps: setprototypeof@1.0.2
|
69
|
-
* deps: statuses@'>= 1.3.1 < 2'
|
70
|
-
|
71
|
-
2016-05-18 / 1.5.0
|
72
|
-
==================
|
73
|
-
|
74
|
-
* Support new code `421 Misdirected Request`
|
75
|
-
* Use `setprototypeof` module to replace `__proto__` setting
|
76
|
-
* deps: statuses@'>= 1.3.0 < 2'
|
77
|
-
- Add `421 Misdirected Request`
|
78
|
-
- perf: enable strict mode
|
79
|
-
* perf: enable strict mode
|
80
|
-
|
81
|
-
2016-01-28 / 1.4.0
|
82
|
-
==================
|
83
|
-
|
84
|
-
* Add `HttpError` export, for `err instanceof createError.HttpError`
|
85
|
-
* deps: inherits@2.0.1
|
86
|
-
* deps: statuses@'>= 1.2.1 < 2'
|
87
|
-
- Fix message for status 451
|
88
|
-
- Remove incorrect nginx status code
|
89
|
-
|
90
|
-
2015-02-02 / 1.3.1
|
91
|
-
==================
|
92
|
-
|
93
|
-
* Fix regression where status can be overwritten in `createError` `props`
|
94
|
-
|
95
|
-
2015-02-01 / 1.3.0
|
96
|
-
==================
|
97
|
-
|
98
|
-
* Construct errors using defined constructors from `createError`
|
99
|
-
* Fix error names that are not identifiers
|
100
|
-
- `createError["I'mateapot"]` is now `createError.ImATeapot`
|
101
|
-
* Set a meaningful `name` property on constructed errors
|
102
|
-
|
103
|
-
2014-12-09 / 1.2.8
|
104
|
-
==================
|
105
|
-
|
106
|
-
* Fix stack trace from exported function
|
107
|
-
* Remove `arguments.callee` usage
|
108
|
-
|
109
|
-
2014-10-14 / 1.2.7
|
110
|
-
==================
|
111
|
-
|
112
|
-
* Remove duplicate line
|
113
|
-
|
114
|
-
2014-10-02 / 1.2.6
|
115
|
-
==================
|
116
|
-
|
117
|
-
* Fix `expose` to be `true` for `ClientError` constructor
|
118
|
-
|
119
|
-
2014-09-28 / 1.2.5
|
120
|
-
==================
|
121
|
-
|
122
|
-
* deps: statuses@1
|
123
|
-
|
124
|
-
2014-09-21 / 1.2.4
|
125
|
-
==================
|
126
|
-
|
127
|
-
* Fix dependency version to work with old `npm`s
|
128
|
-
|
129
|
-
2014-09-21 / 1.2.3
|
130
|
-
==================
|
131
|
-
|
132
|
-
* deps: statuses@~1.1.0
|
133
|
-
|
134
|
-
2014-09-21 / 1.2.2
|
135
|
-
==================
|
136
|
-
|
137
|
-
* Fix publish error
|
138
|
-
|
139
|
-
2014-09-21 / 1.2.1
|
140
|
-
==================
|
141
|
-
|
142
|
-
* Support Node.js 0.6
|
143
|
-
* Use `inherits` instead of `util`
|
144
|
-
|
145
|
-
2014-09-09 / 1.2.0
|
146
|
-
==================
|
147
|
-
|
148
|
-
* Fix the way inheriting functions
|
149
|
-
* Support `expose` being provided in properties argument
|
150
|
-
|
151
|
-
2014-09-08 / 1.1.0
|
152
|
-
==================
|
153
|
-
|
154
|
-
* Default status to 500
|
155
|
-
* Support provided `error` to extend
|
156
|
-
|
157
|
-
2014-09-08 / 1.0.1
|
158
|
-
==================
|
159
|
-
|
160
|
-
* Fix accepting string message
|
161
|
-
|
162
|
-
2014-09-08 / 1.0.0
|
163
|
-
==================
|
164
|
-
|
165
|
-
* Initial release
|
@@ -1,23 +0,0 @@
|
|
1
|
-
|
2
|
-
The MIT License (MIT)
|
3
|
-
|
4
|
-
Copyright (c) 2014 Jonathan Ong me@jongleberry.com
|
5
|
-
Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com
|
6
|
-
|
7
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
-
of this software and associated documentation files (the "Software"), to deal
|
9
|
-
in the Software without restriction, including without limitation the rights
|
10
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
-
copies of the Software, and to permit persons to whom the Software is
|
12
|
-
furnished to do so, subject to the following conditions:
|
13
|
-
|
14
|
-
The above copyright notice and this permission notice shall be included in
|
15
|
-
all copies or substantial portions of the Software.
|
16
|
-
|
17
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
23
|
-
THE SOFTWARE.
|
@@ -1,169 +0,0 @@
|
|
1
|
-
# http-errors
|
2
|
-
|
3
|
-
[![NPM Version][npm-version-image]][npm-url]
|
4
|
-
[![NPM Downloads][npm-downloads-image]][node-url]
|
5
|
-
[![Node.js Version][node-image]][node-url]
|
6
|
-
[![Build Status][ci-image]][ci-url]
|
7
|
-
[![Test Coverage][coveralls-image]][coveralls-url]
|
8
|
-
|
9
|
-
Create HTTP errors for Express, Koa, Connect, etc. with ease.
|
10
|
-
|
11
|
-
## Install
|
12
|
-
|
13
|
-
This is a [Node.js](https://nodejs.org/en/) module available through the
|
14
|
-
[npm registry](https://www.npmjs.com/). Installation is done using the
|
15
|
-
[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
|
16
|
-
|
17
|
-
```bash
|
18
|
-
$ npm install http-errors
|
19
|
-
```
|
20
|
-
|
21
|
-
## Example
|
22
|
-
|
23
|
-
```js
|
24
|
-
var createError = require('http-errors')
|
25
|
-
var express = require('express')
|
26
|
-
var app = express()
|
27
|
-
|
28
|
-
app.use(function (req, res, next) {
|
29
|
-
if (!req.user) return next(createError(401, 'Please login to view this page.'))
|
30
|
-
next()
|
31
|
-
})
|
32
|
-
```
|
33
|
-
|
34
|
-
## API
|
35
|
-
|
36
|
-
This is the current API, currently extracted from Koa and subject to change.
|
37
|
-
|
38
|
-
### Error Properties
|
39
|
-
|
40
|
-
- `expose` - can be used to signal if `message` should be sent to the client,
|
41
|
-
defaulting to `false` when `status` >= 500
|
42
|
-
- `headers` - can be an object of header names to values to be sent to the
|
43
|
-
client, defaulting to `undefined`. When defined, the key names should all
|
44
|
-
be lower-cased
|
45
|
-
- `message` - the traditional error message, which should be kept short and all
|
46
|
-
single line
|
47
|
-
- `status` - the status code of the error, mirroring `statusCode` for general
|
48
|
-
compatibility
|
49
|
-
- `statusCode` - the status code of the error, defaulting to `500`
|
50
|
-
|
51
|
-
### createError([status], [message], [properties])
|
52
|
-
|
53
|
-
Create a new error object with the given message `msg`.
|
54
|
-
The error object inherits from `createError.HttpError`.
|
55
|
-
|
56
|
-
```js
|
57
|
-
var err = createError(404, 'This video does not exist!')
|
58
|
-
```
|
59
|
-
|
60
|
-
- `status: 500` - the status code as a number
|
61
|
-
- `message` - the message of the error, defaulting to node's text for that status code.
|
62
|
-
- `properties` - custom properties to attach to the object
|
63
|
-
|
64
|
-
### createError([status], [error], [properties])
|
65
|
-
|
66
|
-
Extend the given `error` object with `createError.HttpError`
|
67
|
-
properties. This will not alter the inheritance of the given
|
68
|
-
`error` object, and the modified `error` object is the
|
69
|
-
return value.
|
70
|
-
|
71
|
-
<!-- eslint-disable no-redeclare -->
|
72
|
-
|
73
|
-
```js
|
74
|
-
fs.readFile('foo.txt', function (err, buf) {
|
75
|
-
if (err) {
|
76
|
-
if (err.code === 'ENOENT') {
|
77
|
-
var httpError = createError(404, err, { expose: false })
|
78
|
-
} else {
|
79
|
-
var httpError = createError(500, err)
|
80
|
-
}
|
81
|
-
}
|
82
|
-
})
|
83
|
-
```
|
84
|
-
|
85
|
-
- `status` - the status code as a number
|
86
|
-
- `error` - the error object to extend
|
87
|
-
- `properties` - custom properties to attach to the object
|
88
|
-
|
89
|
-
### createError.isHttpError(val)
|
90
|
-
|
91
|
-
Determine if the provided `val` is an `HttpError`. This will return `true`
|
92
|
-
if the error inherits from the `HttpError` constructor of this module or
|
93
|
-
matches the "duck type" for an error this module creates. All outputs from
|
94
|
-
the `createError` factory will return `true` for this function, including
|
95
|
-
if an non-`HttpError` was passed into the factory.
|
96
|
-
|
97
|
-
### new createError\[code || name\](\[msg]\))
|
98
|
-
|
99
|
-
Create a new error object with the given message `msg`.
|
100
|
-
The error object inherits from `createError.HttpError`.
|
101
|
-
|
102
|
-
```js
|
103
|
-
var err = new createError.NotFound()
|
104
|
-
```
|
105
|
-
|
106
|
-
- `code` - the status code as a number
|
107
|
-
- `name` - the name of the error as a "bumpy case", i.e. `NotFound` or `InternalServerError`.
|
108
|
-
|
109
|
-
#### List of all constructors
|
110
|
-
|
111
|
-
|Status Code|Constructor Name |
|
112
|
-
|-----------|-----------------------------|
|
113
|
-
|400 |BadRequest |
|
114
|
-
|401 |Unauthorized |
|
115
|
-
|402 |PaymentRequired |
|
116
|
-
|403 |Forbidden |
|
117
|
-
|404 |NotFound |
|
118
|
-
|405 |MethodNotAllowed |
|
119
|
-
|406 |NotAcceptable |
|
120
|
-
|407 |ProxyAuthenticationRequired |
|
121
|
-
|408 |RequestTimeout |
|
122
|
-
|409 |Conflict |
|
123
|
-
|410 |Gone |
|
124
|
-
|411 |LengthRequired |
|
125
|
-
|412 |PreconditionFailed |
|
126
|
-
|413 |PayloadTooLarge |
|
127
|
-
|414 |URITooLong |
|
128
|
-
|415 |UnsupportedMediaType |
|
129
|
-
|416 |RangeNotSatisfiable |
|
130
|
-
|417 |ExpectationFailed |
|
131
|
-
|418 |ImATeapot |
|
132
|
-
|421 |MisdirectedRequest |
|
133
|
-
|422 |UnprocessableEntity |
|
134
|
-
|423 |Locked |
|
135
|
-
|424 |FailedDependency |
|
136
|
-
|425 |UnorderedCollection |
|
137
|
-
|426 |UpgradeRequired |
|
138
|
-
|428 |PreconditionRequired |
|
139
|
-
|429 |TooManyRequests |
|
140
|
-
|431 |RequestHeaderFieldsTooLarge |
|
141
|
-
|451 |UnavailableForLegalReasons |
|
142
|
-
|500 |InternalServerError |
|
143
|
-
|501 |NotImplemented |
|
144
|
-
|502 |BadGateway |
|
145
|
-
|503 |ServiceUnavailable |
|
146
|
-
|504 |GatewayTimeout |
|
147
|
-
|505 |HTTPVersionNotSupported |
|
148
|
-
|506 |VariantAlsoNegotiates |
|
149
|
-
|507 |InsufficientStorage |
|
150
|
-
|508 |LoopDetected |
|
151
|
-
|509 |BandwidthLimitExceeded |
|
152
|
-
|510 |NotExtended |
|
153
|
-
|511 |NetworkAuthenticationRequired|
|
154
|
-
|
155
|
-
## License
|
156
|
-
|
157
|
-
[MIT](LICENSE)
|
158
|
-
|
159
|
-
[ci-image]: https://badgen.net/github/checks/jshttp/http-errors/master?label=ci
|
160
|
-
[ci-url]: https://github.com/jshttp/http-errors/actions?query=workflow%3Aci
|
161
|
-
[coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/http-errors/master
|
162
|
-
[coveralls-url]: https://coveralls.io/r/jshttp/http-errors?branch=master
|
163
|
-
[node-image]: https://badgen.net/npm/node/http-errors
|
164
|
-
[node-url]: https://nodejs.org/en/download
|
165
|
-
[npm-downloads-image]: https://badgen.net/npm/dm/http-errors
|
166
|
-
[npm-url]: https://npmjs.org/package/http-errors
|
167
|
-
[npm-version-image]: https://badgen.net/npm/v/http-errors
|
168
|
-
[travis-image]: https://badgen.net/travis/jshttp/http-errors/master
|
169
|
-
[travis-url]: https://travis-ci.org/jshttp/http-errors
|