fsevents 1.2.9 → 1.2.13
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/.travis.yml +6 -4
- package/binding.gyp +1 -9
- package/fsevents.js +1 -3
- package/install.js +13 -7
- package/package.json +5 -17
- package/node_modules/abbrev/LICENSE +0 -46
- package/node_modules/abbrev/README.md +0 -23
- package/node_modules/abbrev/abbrev.js +0 -61
- package/node_modules/abbrev/package.json +0 -59
- package/node_modules/ansi-regex/index.js +0 -4
- package/node_modules/ansi-regex/license +0 -21
- package/node_modules/ansi-regex/package.json +0 -111
- package/node_modules/ansi-regex/readme.md +0 -39
- package/node_modules/aproba/LICENSE +0 -14
- package/node_modules/aproba/README.md +0 -94
- package/node_modules/aproba/index.js +0 -105
- package/node_modules/aproba/package.json +0 -65
- package/node_modules/are-we-there-yet/CHANGES.md +0 -37
- package/node_modules/are-we-there-yet/LICENSE +0 -5
- package/node_modules/are-we-there-yet/README.md +0 -195
- package/node_modules/are-we-there-yet/index.js +0 -4
- package/node_modules/are-we-there-yet/package.json +0 -66
- package/node_modules/are-we-there-yet/tracker-base.js +0 -11
- package/node_modules/are-we-there-yet/tracker-group.js +0 -107
- package/node_modules/are-we-there-yet/tracker-stream.js +0 -36
- package/node_modules/are-we-there-yet/tracker.js +0 -30
- package/node_modules/balanced-match/.npmignore +0 -5
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -91
- package/node_modules/balanced-match/index.js +0 -59
- package/node_modules/balanced-match/package.json +0 -80
- package/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/brace-expansion/package.json +0 -78
- package/node_modules/chownr/LICENSE +0 -15
- package/node_modules/chownr/README.md +0 -3
- package/node_modules/chownr/chownr.js +0 -88
- package/node_modules/chownr/package.json +0 -62
- package/node_modules/code-point-at/index.js +0 -32
- package/node_modules/code-point-at/license +0 -21
- package/node_modules/code-point-at/package.json +0 -73
- package/node_modules/code-point-at/readme.md +0 -32
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -91
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/console-control-strings/LICENSE +0 -13
- package/node_modules/console-control-strings/README.md +0 -145
- package/node_modules/console-control-strings/README.md~ +0 -140
- package/node_modules/console-control-strings/index.js +0 -125
- package/node_modules/console-control-strings/package.json +0 -64
- package/node_modules/core-util-is/LICENSE +0 -19
- package/node_modules/core-util-is/README.md +0 -3
- package/node_modules/core-util-is/float.patch +0 -604
- package/node_modules/core-util-is/lib/util.js +0 -107
- package/node_modules/core-util-is/package.json +0 -65
- package/node_modules/core-util-is/test.js +0 -68
- package/node_modules/debug/CHANGELOG.md +0 -395
- package/node_modules/debug/LICENSE +0 -19
- package/node_modules/debug/README.md +0 -455
- package/node_modules/debug/dist/debug.js +0 -912
- package/node_modules/debug/package.json +0 -105
- package/node_modules/debug/src/browser.js +0 -264
- package/node_modules/debug/src/common.js +0 -266
- package/node_modules/debug/src/index.js +0 -10
- package/node_modules/debug/src/node.js +0 -257
- package/node_modules/deep-extend/CHANGELOG.md +0 -46
- package/node_modules/deep-extend/LICENSE +0 -20
- package/node_modules/deep-extend/README.md +0 -91
- package/node_modules/deep-extend/index.js +0 -1
- package/node_modules/deep-extend/lib/deep-extend.js +0 -150
- package/node_modules/deep-extend/package.json +0 -95
- package/node_modules/delegates/.npmignore +0 -1
- package/node_modules/delegates/History.md +0 -22
- package/node_modules/delegates/License +0 -20
- package/node_modules/delegates/Makefile +0 -8
- package/node_modules/delegates/Readme.md +0 -94
- package/node_modules/delegates/index.js +0 -121
- package/node_modules/delegates/package.json +0 -51
- package/node_modules/delegates/test/index.js +0 -94
- package/node_modules/detect-libc/.npmignore +0 -7
- package/node_modules/detect-libc/LICENSE +0 -201
- package/node_modules/detect-libc/README.md +0 -78
- package/node_modules/detect-libc/bin/detect-libc.js +0 -18
- package/node_modules/detect-libc/lib/detect-libc.js +0 -92
- package/node_modules/detect-libc/package.json +0 -73
- package/node_modules/fs-minipass/LICENSE +0 -15
- package/node_modules/fs-minipass/README.md +0 -70
- package/node_modules/fs-minipass/index.js +0 -386
- package/node_modules/fs-minipass/package.json +0 -65
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -62
- package/node_modules/gauge/CHANGELOG.md +0 -160
- package/node_modules/gauge/LICENSE +0 -13
- package/node_modules/gauge/README.md +0 -399
- package/node_modules/gauge/base-theme.js +0 -14
- package/node_modules/gauge/error.js +0 -24
- package/node_modules/gauge/has-color.js +0 -12
- package/node_modules/gauge/index.js +0 -233
- package/node_modules/gauge/package.json +0 -94
- package/node_modules/gauge/plumbing.js +0 -48
- package/node_modules/gauge/process.js +0 -3
- package/node_modules/gauge/progress-bar.js +0 -35
- package/node_modules/gauge/render-template.js +0 -181
- package/node_modules/gauge/set-immediate.js +0 -7
- package/node_modules/gauge/set-interval.js +0 -3
- package/node_modules/gauge/spin.js +0 -5
- package/node_modules/gauge/template-item.js +0 -73
- package/node_modules/gauge/theme-set.js +0 -115
- package/node_modules/gauge/themes.js +0 -54
- package/node_modules/gauge/wide-truncate.js +0 -25
- package/node_modules/glob/LICENSE +0 -15
- package/node_modules/glob/README.md +0 -368
- package/node_modules/glob/changelog.md +0 -67
- package/node_modules/glob/common.js +0 -240
- package/node_modules/glob/glob.js +0 -790
- package/node_modules/glob/package.json +0 -79
- package/node_modules/glob/sync.js +0 -486
- package/node_modules/has-unicode/LICENSE +0 -14
- package/node_modules/has-unicode/README.md +0 -43
- package/node_modules/has-unicode/index.js +0 -16
- package/node_modules/has-unicode/package.json +0 -61
- package/node_modules/iconv-lite/Changelog.md +0 -162
- package/node_modules/iconv-lite/LICENSE +0 -21
- package/node_modules/iconv-lite/README.md +0 -156
- package/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
- package/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
- package/node_modules/iconv-lite/encodings/index.js +0 -22
- package/node_modules/iconv-lite/encodings/internal.js +0 -188
- package/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
- package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
- package/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
- package/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
- package/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
- package/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
- package/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
- package/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
- package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
- package/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
- package/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
- package/node_modules/iconv-lite/encodings/utf16.js +0 -177
- package/node_modules/iconv-lite/encodings/utf7.js +0 -290
- package/node_modules/iconv-lite/lib/bom-handling.js +0 -52
- package/node_modules/iconv-lite/lib/extend-node.js +0 -217
- package/node_modules/iconv-lite/lib/index.d.ts +0 -24
- package/node_modules/iconv-lite/lib/index.js +0 -153
- package/node_modules/iconv-lite/lib/streams.js +0 -121
- package/node_modules/iconv-lite/package.json +0 -79
- package/node_modules/ignore-walk/LICENSE +0 -15
- package/node_modules/ignore-walk/README.md +0 -60
- package/node_modules/ignore-walk/index.js +0 -265
- package/node_modules/ignore-walk/package.json +0 -74
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -61
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -7
- package/node_modules/inherits/inherits_browser.js +0 -23
- package/node_modules/inherits/package.json +0 -65
- package/node_modules/ini/LICENSE +0 -15
- package/node_modules/ini/README.md +0 -102
- package/node_modules/ini/ini.js +0 -194
- package/node_modules/ini/package.json +0 -66
- package/node_modules/is-fullwidth-code-point/index.js +0 -46
- package/node_modules/is-fullwidth-code-point/license +0 -21
- package/node_modules/is-fullwidth-code-point/package.json +0 -80
- package/node_modules/is-fullwidth-code-point/readme.md +0 -39
- package/node_modules/isarray/.npmignore +0 -1
- package/node_modules/isarray/.travis.yml +0 -4
- package/node_modules/isarray/Makefile +0 -6
- package/node_modules/isarray/README.md +0 -60
- package/node_modules/isarray/component.json +0 -19
- package/node_modules/isarray/index.js +0 -5
- package/node_modules/isarray/package.json +0 -76
- package/node_modules/isarray/test.js +0 -20
- package/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/minimatch/README.md +0 -209
- package/node_modules/minimatch/minimatch.js +0 -923
- package/node_modules/minimatch/package.json +0 -67
- package/node_modules/minimist/.travis.yml +0 -4
- package/node_modules/minimist/LICENSE +0 -18
- package/node_modules/minimist/example/parse.js +0 -2
- package/node_modules/minimist/index.js +0 -187
- package/node_modules/minimist/package.json +0 -74
- package/node_modules/minimist/readme.markdown +0 -73
- package/node_modules/minimist/test/dash.js +0 -24
- package/node_modules/minimist/test/default_bool.js +0 -20
- package/node_modules/minimist/test/dotted.js +0 -16
- package/node_modules/minimist/test/long.js +0 -31
- package/node_modules/minimist/test/parse.js +0 -318
- package/node_modules/minimist/test/parse_modified.js +0 -9
- package/node_modules/minimist/test/short.js +0 -67
- package/node_modules/minimist/test/whitespace.js +0 -8
- package/node_modules/minipass/LICENSE +0 -15
- package/node_modules/minipass/README.md +0 -124
- package/node_modules/minipass/index.js +0 -375
- package/node_modules/minipass/package.json +0 -72
- package/node_modules/minizlib/LICENSE +0 -26
- package/node_modules/minizlib/README.md +0 -44
- package/node_modules/minizlib/constants.js +0 -46
- package/node_modules/minizlib/index.js +0 -335
- package/node_modules/minizlib/package.json +0 -74
- package/node_modules/mkdirp/.travis.yml +0 -8
- package/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/mkdirp/bin/cmd.js +0 -33
- package/node_modules/mkdirp/bin/usage.txt +0 -12
- package/node_modules/mkdirp/examples/pow.js +0 -6
- package/node_modules/mkdirp/index.js +0 -98
- package/node_modules/mkdirp/package.json +0 -66
- package/node_modules/mkdirp/readme.markdown +0 -100
- package/node_modules/mkdirp/test/chmod.js +0 -41
- package/node_modules/mkdirp/test/clobber.js +0 -38
- package/node_modules/mkdirp/test/mkdirp.js +0 -28
- package/node_modules/mkdirp/test/opts_fs.js +0 -29
- package/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
- package/node_modules/mkdirp/test/perm.js +0 -32
- package/node_modules/mkdirp/test/perm_sync.js +0 -36
- package/node_modules/mkdirp/test/race.js +0 -37
- package/node_modules/mkdirp/test/rel.js +0 -32
- package/node_modules/mkdirp/test/return.js +0 -25
- package/node_modules/mkdirp/test/return_sync.js +0 -24
- package/node_modules/mkdirp/test/root.js +0 -19
- package/node_modules/mkdirp/test/sync.js +0 -32
- package/node_modules/mkdirp/test/umask.js +0 -28
- package/node_modules/mkdirp/test/umask_sync.js +0 -32
- package/node_modules/ms/index.js +0 -162
- package/node_modules/ms/license.md +0 -21
- package/node_modules/ms/package.json +0 -72
- package/node_modules/ms/readme.md +0 -60
- package/node_modules/needle/.npmignore +0 -6
- package/node_modules/needle/README.md +0 -593
- package/node_modules/needle/bin/needle +0 -40
- package/node_modules/needle/examples/deflated-stream.js +0 -22
- package/node_modules/needle/examples/digest-auth.js +0 -16
- package/node_modules/needle/examples/download-to-file.js +0 -18
- package/node_modules/needle/examples/multipart-stream.js +0 -25
- package/node_modules/needle/examples/parsed-stream.js +0 -23
- package/node_modules/needle/examples/parsed-stream2.js +0 -21
- package/node_modules/needle/examples/stream-events.js +0 -23
- package/node_modules/needle/examples/stream-to-file.js +0 -14
- package/node_modules/needle/examples/upload-image.js +0 -51
- package/node_modules/needle/lib/auth.js +0 -110
- package/node_modules/needle/lib/cookies.js +0 -79
- package/node_modules/needle/lib/decoder.js +0 -53
- package/node_modules/needle/lib/multipart.js +0 -98
- package/node_modules/needle/lib/needle.js +0 -795
- package/node_modules/needle/lib/parsers.js +0 -120
- package/node_modules/needle/lib/querystring.js +0 -49
- package/node_modules/needle/license.txt +0 -19
- package/node_modules/needle/package-lock.json +0 -395
- package/node_modules/needle/package.json +0 -105
- package/node_modules/needle/test/basic_auth_spec.js +0 -196
- package/node_modules/needle/test/compression_spec.js +0 -94
- package/node_modules/needle/test/cookies_spec.js +0 -305
- package/node_modules/needle/test/decoder_spec.js +0 -86
- package/node_modules/needle/test/errors_spec.js +0 -286
- package/node_modules/needle/test/headers_spec.js +0 -198
- package/node_modules/needle/test/helpers.js +0 -72
- package/node_modules/needle/test/keys/ssl.cert +0 -21
- package/node_modules/needle/test/keys/ssl.key +0 -27
- package/node_modules/needle/test/long_string_spec.js +0 -34
- package/node_modules/needle/test/output_spec.js +0 -254
- package/node_modules/needle/test/parsing_spec.js +0 -494
- package/node_modules/needle/test/post_data_spec.js +0 -1021
- package/node_modules/needle/test/proxy_spec.js +0 -202
- package/node_modules/needle/test/querystring_spec.js +0 -128
- package/node_modules/needle/test/redirect_spec.js +0 -392
- package/node_modules/needle/test/redirect_with_timeout.js +0 -45
- package/node_modules/needle/test/request_stream_spec.js +0 -202
- package/node_modules/needle/test/response_stream_spec.js +0 -139
- package/node_modules/needle/test/socket_pool_spec.js +0 -66
- package/node_modules/needle/test/url_spec.js +0 -155
- package/node_modules/needle/test/utils/formidable.js +0 -17
- package/node_modules/needle/test/utils/proxy.js +0 -62
- package/node_modules/needle/test/utils/test.js +0 -104
- package/node_modules/node-pre-gyp/CHANGELOG.md +0 -432
- package/node_modules/node-pre-gyp/LICENSE +0 -27
- package/node_modules/node-pre-gyp/README.md +0 -693
- package/node_modules/node-pre-gyp/appveyor.yml +0 -30
- package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -134
- package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
- package/node_modules/node-pre-gyp/contributing.md +0 -10
- package/node_modules/node-pre-gyp/lib/build.js +0 -51
- package/node_modules/node-pre-gyp/lib/clean.js +0 -32
- package/node_modules/node-pre-gyp/lib/configure.js +0 -52
- package/node_modules/node-pre-gyp/lib/info.js +0 -40
- package/node_modules/node-pre-gyp/lib/install.js +0 -255
- package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -203
- package/node_modules/node-pre-gyp/lib/package.js +0 -56
- package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -30
- package/node_modules/node-pre-gyp/lib/publish.js +0 -79
- package/node_modules/node-pre-gyp/lib/rebuild.js +0 -21
- package/node_modules/node-pre-gyp/lib/reinstall.js +0 -20
- package/node_modules/node-pre-gyp/lib/reveal.js +0 -33
- package/node_modules/node-pre-gyp/lib/testbinary.js +0 -81
- package/node_modules/node-pre-gyp/lib/testpackage.js +0 -55
- package/node_modules/node-pre-gyp/lib/unpublish.js +0 -43
- package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -1830
- package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
- package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -103
- package/node_modules/node-pre-gyp/lib/util/napi.js +0 -204
- package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
- package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
- package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
- package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -331
- package/node_modules/node-pre-gyp/package.json +0 -89
- package/node_modules/nopt/.npmignore +0 -1
- package/node_modules/nopt/.travis.yml +0 -8
- package/node_modules/nopt/CHANGELOG.md +0 -58
- package/node_modules/nopt/LICENSE +0 -15
- package/node_modules/nopt/README.md +0 -213
- package/node_modules/nopt/bin/nopt.js +0 -54
- package/node_modules/nopt/examples/my-program.js +0 -30
- package/node_modules/nopt/lib/nopt.js +0 -436
- package/node_modules/nopt/package.json +0 -61
- package/node_modules/nopt/test/basic.js +0 -303
- package/node_modules/npm-bundled/LICENSE +0 -15
- package/node_modules/npm-bundled/README.md +0 -48
- package/node_modules/npm-bundled/index.js +0 -241
- package/node_modules/npm-bundled/package.json +0 -63
- package/node_modules/npm-packlist/LICENSE +0 -15
- package/node_modules/npm-packlist/README.md +0 -68
- package/node_modules/npm-packlist/index.js +0 -250
- package/node_modules/npm-packlist/package.json +0 -69
- package/node_modules/npmlog/CHANGELOG.md +0 -49
- package/node_modules/npmlog/LICENSE +0 -15
- package/node_modules/npmlog/README.md +0 -216
- package/node_modules/npmlog/log.js +0 -309
- package/node_modules/npmlog/package.json +0 -64
- package/node_modules/number-is-nan/index.js +0 -4
- package/node_modules/number-is-nan/license +0 -21
- package/node_modules/number-is-nan/package.json +0 -70
- package/node_modules/number-is-nan/readme.md +0 -28
- package/node_modules/object-assign/index.js +0 -90
- package/node_modules/object-assign/license +0 -21
- package/node_modules/object-assign/package.json +0 -77
- package/node_modules/object-assign/readme.md +0 -61
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -70
- package/node_modules/os-homedir/index.js +0 -24
- package/node_modules/os-homedir/license +0 -21
- package/node_modules/os-homedir/package.json +0 -76
- package/node_modules/os-homedir/readme.md +0 -31
- package/node_modules/os-tmpdir/index.js +0 -25
- package/node_modules/os-tmpdir/license +0 -21
- package/node_modules/os-tmpdir/package.json +0 -76
- package/node_modules/os-tmpdir/readme.md +0 -32
- package/node_modules/osenv/LICENSE +0 -15
- package/node_modules/osenv/README.md +0 -63
- package/node_modules/osenv/osenv.js +0 -72
- package/node_modules/osenv/package.json +0 -76
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -78
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/process-nextick-args/index.js +0 -44
- package/node_modules/process-nextick-args/license.md +0 -19
- package/node_modules/process-nextick-args/package.json +0 -53
- package/node_modules/process-nextick-args/readme.md +0 -18
- package/node_modules/rc/LICENSE.APACHE2 +0 -15
- package/node_modules/rc/LICENSE.BSD +0 -26
- package/node_modules/rc/LICENSE.MIT +0 -24
- package/node_modules/rc/README.md +0 -227
- package/node_modules/rc/browser.js +0 -7
- package/node_modules/rc/cli.js +0 -4
- package/node_modules/rc/index.js +0 -53
- package/node_modules/rc/lib/utils.js +0 -104
- package/node_modules/rc/node_modules/minimist/.travis.yml +0 -8
- package/node_modules/rc/node_modules/minimist/LICENSE +0 -18
- package/node_modules/rc/node_modules/minimist/example/parse.js +0 -2
- package/node_modules/rc/node_modules/minimist/index.js +0 -236
- package/node_modules/rc/node_modules/minimist/package.json +0 -76
- package/node_modules/rc/node_modules/minimist/readme.markdown +0 -91
- package/node_modules/rc/node_modules/minimist/test/all_bool.js +0 -32
- package/node_modules/rc/node_modules/minimist/test/bool.js +0 -166
- package/node_modules/rc/node_modules/minimist/test/dash.js +0 -31
- package/node_modules/rc/node_modules/minimist/test/default_bool.js +0 -35
- package/node_modules/rc/node_modules/minimist/test/dotted.js +0 -22
- package/node_modules/rc/node_modules/minimist/test/kv_short.js +0 -16
- package/node_modules/rc/node_modules/minimist/test/long.js +0 -31
- package/node_modules/rc/node_modules/minimist/test/num.js +0 -36
- package/node_modules/rc/node_modules/minimist/test/parse.js +0 -197
- package/node_modules/rc/node_modules/minimist/test/parse_modified.js +0 -9
- package/node_modules/rc/node_modules/minimist/test/short.js +0 -67
- package/node_modules/rc/node_modules/minimist/test/stop_early.js +0 -15
- package/node_modules/rc/node_modules/minimist/test/unknown.js +0 -102
- package/node_modules/rc/node_modules/minimist/test/whitespace.js +0 -8
- package/node_modules/rc/package.json +0 -67
- package/node_modules/rc/test/ini.js +0 -16
- package/node_modules/rc/test/nested-env-vars.js +0 -50
- package/node_modules/rc/test/test.js +0 -59
- package/node_modules/readable-stream/.travis.yml +0 -55
- package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/readable-stream/LICENSE +0 -47
- package/node_modules/readable-stream/README.md +0 -58
- package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/node_modules/readable-stream/duplex-browser.js +0 -1
- package/node_modules/readable-stream/duplex.js +0 -1
- package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
- package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/readable-stream/package.json +0 -84
- package/node_modules/readable-stream/passthrough.js +0 -1
- package/node_modules/readable-stream/readable-browser.js +0 -7
- package/node_modules/readable-stream/readable.js +0 -19
- package/node_modules/readable-stream/transform.js +0 -1
- package/node_modules/readable-stream/writable-browser.js +0 -1
- package/node_modules/readable-stream/writable.js +0 -8
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -50
- package/node_modules/rimraf/package.json +0 -70
- package/node_modules/rimraf/rimraf.js +0 -364
- package/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/safe-buffer/index.js +0 -62
- package/node_modules/safe-buffer/package.json +0 -68
- package/node_modules/safer-buffer/LICENSE +0 -21
- package/node_modules/safer-buffer/Porting-Buffer.md +0 -268
- package/node_modules/safer-buffer/Readme.md +0 -156
- package/node_modules/safer-buffer/dangerous.js +0 -58
- package/node_modules/safer-buffer/package.json +0 -63
- package/node_modules/safer-buffer/safer.js +0 -77
- package/node_modules/safer-buffer/tests.js +0 -406
- package/node_modules/sax/LICENSE +0 -41
- package/node_modules/sax/README.md +0 -225
- package/node_modules/sax/lib/sax.js +0 -1565
- package/node_modules/sax/package.json +0 -64
- package/node_modules/semver/CHANGELOG.md +0 -39
- package/node_modules/semver/LICENSE +0 -15
- package/node_modules/semver/README.md +0 -411
- package/node_modules/semver/bin/semver +0 -160
- package/node_modules/semver/package.json +0 -63
- package/node_modules/semver/range.bnf +0 -16
- package/node_modules/semver/semver.js +0 -1483
- package/node_modules/set-blocking/CHANGELOG.md +0 -26
- package/node_modules/set-blocking/LICENSE.txt +0 -14
- package/node_modules/set-blocking/README.md +0 -31
- package/node_modules/set-blocking/index.js +0 -7
- package/node_modules/set-blocking/package.json +0 -73
- package/node_modules/signal-exit/CHANGELOG.md +0 -27
- package/node_modules/signal-exit/LICENSE.txt +0 -16
- package/node_modules/signal-exit/README.md +0 -40
- package/node_modules/signal-exit/index.js +0 -157
- package/node_modules/signal-exit/package.json +0 -69
- package/node_modules/signal-exit/signals.js +0 -53
- package/node_modules/string-width/index.js +0 -37
- package/node_modules/string-width/license +0 -21
- package/node_modules/string-width/package.json +0 -92
- package/node_modules/string-width/readme.md +0 -42
- package/node_modules/string_decoder/.travis.yml +0 -50
- package/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/string_decoder/README.md +0 -47
- package/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/string_decoder/package.json +0 -62
- package/node_modules/strip-ansi/index.js +0 -6
- package/node_modules/strip-ansi/license +0 -21
- package/node_modules/strip-ansi/package.json +0 -105
- package/node_modules/strip-ansi/readme.md +0 -33
- package/node_modules/strip-json-comments/index.js +0 -70
- package/node_modules/strip-json-comments/license +0 -21
- package/node_modules/strip-json-comments/package.json +0 -77
- package/node_modules/strip-json-comments/readme.md +0 -64
- package/node_modules/tar/LICENSE +0 -15
- package/node_modules/tar/README.md +0 -954
- package/node_modules/tar/index.js +0 -18
- package/node_modules/tar/lib/buffer.js +0 -11
- package/node_modules/tar/lib/create.js +0 -105
- package/node_modules/tar/lib/extract.js +0 -112
- package/node_modules/tar/lib/header.js +0 -289
- package/node_modules/tar/lib/high-level-opt.js +0 -29
- package/node_modules/tar/lib/large-numbers.js +0 -92
- package/node_modules/tar/lib/list.js +0 -130
- package/node_modules/tar/lib/mkdir.js +0 -206
- package/node_modules/tar/lib/mode-fix.js +0 -14
- package/node_modules/tar/lib/pack.js +0 -404
- package/node_modules/tar/lib/parse.js +0 -423
- package/node_modules/tar/lib/pax.js +0 -146
- package/node_modules/tar/lib/read-entry.js +0 -94
- package/node_modules/tar/lib/replace.js +0 -220
- package/node_modules/tar/lib/types.js +0 -44
- package/node_modules/tar/lib/unpack.js +0 -621
- package/node_modules/tar/lib/update.js +0 -36
- package/node_modules/tar/lib/warn-mixin.js +0 -14
- package/node_modules/tar/lib/winchars.js +0 -23
- package/node_modules/tar/lib/write-entry.js +0 -422
- package/node_modules/tar/package.json +0 -81
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/util-deprecate/LICENSE +0 -24
- package/node_modules/util-deprecate/README.md +0 -53
- package/node_modules/util-deprecate/browser.js +0 -67
- package/node_modules/util-deprecate/node.js +0 -6
- package/node_modules/util-deprecate/package.json +0 -59
- package/node_modules/wide-align/LICENSE +0 -14
- package/node_modules/wide-align/README.md +0 -47
- package/node_modules/wide-align/align.js +0 -65
- package/node_modules/wide-align/package.json +0 -69
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -62
- package/node_modules/wrappy/wrappy.js +0 -33
- package/node_modules/yallist/LICENSE +0 -15
- package/node_modules/yallist/README.md +0 -204
- package/node_modules/yallist/iterator.js +0 -8
- package/node_modules/yallist/package.json +0 -66
- package/node_modules/yallist/yallist.js +0 -376
@@ -1,196 +0,0 @@
|
|
1
|
-
var helpers = require('./helpers'),
|
2
|
-
should = require('should'),
|
3
|
-
needle = require('./../'),
|
4
|
-
server;
|
5
|
-
|
6
|
-
var port = 7707;
|
7
|
-
|
8
|
-
describe('Basic Auth', function() {
|
9
|
-
|
10
|
-
before(function(done) {
|
11
|
-
server = helpers.server({ port: port }, done);
|
12
|
-
})
|
13
|
-
|
14
|
-
after(function(done) {
|
15
|
-
server.close(done);
|
16
|
-
})
|
17
|
-
|
18
|
-
///////////////// helpers
|
19
|
-
|
20
|
-
var get_auth = function(header) {
|
21
|
-
var token = header.split(/\s+/).pop();
|
22
|
-
return token && Buffer.from(token, 'base64').toString().split(':');
|
23
|
-
}
|
24
|
-
|
25
|
-
describe('when neither username or password are passed', function() {
|
26
|
-
|
27
|
-
it('doesnt send any Authorization headers', function(done) {
|
28
|
-
needle.get('localhost:' + port, { parse: true }, function(err, resp) {
|
29
|
-
var sent_headers = resp.body.headers;
|
30
|
-
Object.keys(sent_headers).should.not.containEql('authorization');
|
31
|
-
done();
|
32
|
-
})
|
33
|
-
})
|
34
|
-
|
35
|
-
})
|
36
|
-
|
37
|
-
describe('when username is an empty string, and password is a valid string', function() {
|
38
|
-
|
39
|
-
var opts = { username: '', password: 'foobar', parse: true };
|
40
|
-
|
41
|
-
it('doesnt send any Authorization headers', function(done) {
|
42
|
-
needle.get('localhost:' + port, { parse: true }, function(err, resp) {
|
43
|
-
var sent_headers = resp.body.headers;
|
44
|
-
Object.keys(sent_headers).should.not.containEql('authorization');
|
45
|
-
done();
|
46
|
-
})
|
47
|
-
})
|
48
|
-
|
49
|
-
});
|
50
|
-
|
51
|
-
describe('when username is a valid string, but no username is passed', function() {
|
52
|
-
|
53
|
-
var opts = { username: 'foobar', parse: true };
|
54
|
-
|
55
|
-
it('sends Authorization header', function(done) {
|
56
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
57
|
-
var sent_headers = resp.body.headers;
|
58
|
-
Object.keys(sent_headers).should.containEql('authorization');
|
59
|
-
done();
|
60
|
-
})
|
61
|
-
})
|
62
|
-
|
63
|
-
it('Basic Auth only includes username, without colon', function(done) {
|
64
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
65
|
-
var sent_headers = resp.body.headers;
|
66
|
-
var auth = get_auth(sent_headers['authorization']);
|
67
|
-
auth[0].should.equal('foobar');
|
68
|
-
auth.should.have.lengthOf(1);
|
69
|
-
done();
|
70
|
-
})
|
71
|
-
})
|
72
|
-
|
73
|
-
})
|
74
|
-
|
75
|
-
describe('when username is a valid string, and password is null', function() {
|
76
|
-
|
77
|
-
var opts = { username: 'foobar', password: null, parse: true };
|
78
|
-
|
79
|
-
it('sends Authorization header', function(done) {
|
80
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
81
|
-
var sent_headers = resp.body.headers;
|
82
|
-
Object.keys(sent_headers).should.containEql('authorization');
|
83
|
-
done();
|
84
|
-
})
|
85
|
-
})
|
86
|
-
|
87
|
-
it('Basic Auth only includes both username and password', function(done) {
|
88
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
89
|
-
var sent_headers = resp.body.headers;
|
90
|
-
var auth = get_auth(sent_headers['authorization']);
|
91
|
-
auth[0].should.equal('foobar');
|
92
|
-
auth[1].should.equal('');
|
93
|
-
done();
|
94
|
-
})
|
95
|
-
})
|
96
|
-
|
97
|
-
})
|
98
|
-
|
99
|
-
describe('when username is a valid string, and password is an empty string', function() {
|
100
|
-
|
101
|
-
var opts = { username: 'foobar', password: '', parse: true };
|
102
|
-
|
103
|
-
it('sends Authorization header', function(done) {
|
104
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
105
|
-
var sent_headers = resp.body.headers;
|
106
|
-
Object.keys(sent_headers).should.containEql('authorization');
|
107
|
-
done();
|
108
|
-
})
|
109
|
-
})
|
110
|
-
|
111
|
-
it('Basic Auth only includes both username and password', function(done) {
|
112
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
113
|
-
var sent_headers = resp.body.headers;
|
114
|
-
var auth = get_auth(sent_headers['authorization']);
|
115
|
-
auth[0].should.equal('foobar');
|
116
|
-
auth[1].should.equal('');
|
117
|
-
auth.should.have.lengthOf(2);
|
118
|
-
done();
|
119
|
-
})
|
120
|
-
})
|
121
|
-
|
122
|
-
})
|
123
|
-
|
124
|
-
describe('when username AND password are non empty strings', function() {
|
125
|
-
|
126
|
-
var opts = { username: 'foobar', password: 'jakub', parse: true };
|
127
|
-
|
128
|
-
it('sends Authorization header', function(done) {
|
129
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
130
|
-
var sent_headers = resp.body.headers;
|
131
|
-
Object.keys(sent_headers).should.containEql('authorization');
|
132
|
-
done();
|
133
|
-
})
|
134
|
-
})
|
135
|
-
|
136
|
-
it('Basic Auth only includes both user and password', function(done) {
|
137
|
-
needle.get('localhost:' + port, opts, function(err, resp) {
|
138
|
-
var sent_headers = resp.body.headers;
|
139
|
-
var auth = get_auth(sent_headers['authorization']);
|
140
|
-
auth[0].should.equal('foobar');
|
141
|
-
auth[1].should.equal('jakub');
|
142
|
-
auth.should.have.lengthOf(2);
|
143
|
-
done();
|
144
|
-
})
|
145
|
-
})
|
146
|
-
|
147
|
-
})
|
148
|
-
|
149
|
-
describe('URL with @ but not username/pass', function() {
|
150
|
-
it('doesnt send Authorization header', function(done) {
|
151
|
-
var url = 'localhost:' + port + '/abc/@def/xyz.zip';
|
152
|
-
|
153
|
-
needle.get(url, {}, function(err, resp) {
|
154
|
-
var sent_headers = resp.body.headers;
|
155
|
-
Object.keys(sent_headers).should.not.containEql('authorization');
|
156
|
-
done();
|
157
|
-
})
|
158
|
-
})
|
159
|
-
|
160
|
-
it('sends user:pass headers if passed via options', function(done) {
|
161
|
-
var url = 'localhost:' + port + '/abc/@def/xyz.zip';
|
162
|
-
|
163
|
-
needle.get(url, { username: 'foo' }, function(err, resp) {
|
164
|
-
var sent_headers = resp.body.headers;
|
165
|
-
Object.keys(sent_headers).should.containEql('authorization');
|
166
|
-
sent_headers['authorization'].should.eql('Basic Zm9v')
|
167
|
-
done();
|
168
|
-
})
|
169
|
-
})
|
170
|
-
})
|
171
|
-
|
172
|
-
describe('when username/password are included in URL', function() {
|
173
|
-
var opts = { parse: true };
|
174
|
-
|
175
|
-
it('sends Authorization header', function(done) {
|
176
|
-
needle.get('foobar:jakub@localhost:' + port, opts, function(err, resp) {
|
177
|
-
var sent_headers = resp.body.headers;
|
178
|
-
Object.keys(sent_headers).should.containEql('authorization');
|
179
|
-
done();
|
180
|
-
})
|
181
|
-
})
|
182
|
-
|
183
|
-
it('Basic Auth only includes both user and password', function(done) {
|
184
|
-
needle.get('foobar:jakub@localhost:' + port, opts, function(err, resp) {
|
185
|
-
var sent_headers = resp.body.headers;
|
186
|
-
var auth = get_auth(sent_headers['authorization']);
|
187
|
-
auth[0].should.equal('foobar');
|
188
|
-
auth[1].should.equal('jakub');
|
189
|
-
auth.should.have.lengthOf(2);
|
190
|
-
done();
|
191
|
-
})
|
192
|
-
})
|
193
|
-
|
194
|
-
})
|
195
|
-
|
196
|
-
})
|
@@ -1,94 +0,0 @@
|
|
1
|
-
var should = require('should'),
|
2
|
-
needle = require('./../'),
|
3
|
-
http = require('http'),
|
4
|
-
zlib = require('zlib'),
|
5
|
-
stream = require('stream'),
|
6
|
-
port = 11123,
|
7
|
-
server;
|
8
|
-
|
9
|
-
describe('compression', function(){
|
10
|
-
|
11
|
-
require.bind(null, 'zlib').should.not.throw()
|
12
|
-
|
13
|
-
var jsonData = '{"foo":"bar"}';
|
14
|
-
|
15
|
-
describe('when server supports compression', function(){
|
16
|
-
|
17
|
-
before(function(){
|
18
|
-
server = http.createServer(function(req, res) {
|
19
|
-
var raw = new stream.PassThrough();
|
20
|
-
|
21
|
-
var acceptEncoding = req.headers['accept-encoding'];
|
22
|
-
if (!acceptEncoding) {
|
23
|
-
acceptEncoding = '';
|
24
|
-
}
|
25
|
-
|
26
|
-
if (acceptEncoding.match(/\bdeflate\b/)) {
|
27
|
-
res.setHeader('Content-Encoding', 'deflate');
|
28
|
-
raw.pipe(zlib.createDeflate()).pipe(res);
|
29
|
-
} else if (acceptEncoding.match(/\bgzip\b/)) {
|
30
|
-
res.setHeader('Content-Encoding', 'gzip');
|
31
|
-
raw.pipe(zlib.createGzip()).pipe(res);
|
32
|
-
} else {
|
33
|
-
raw.pipe(res);
|
34
|
-
}
|
35
|
-
|
36
|
-
res.setHeader('Content-Type', 'application/json')
|
37
|
-
if (req.headers['with-bad']) {
|
38
|
-
res.end('foo'); // end, no deflate data
|
39
|
-
} else {
|
40
|
-
raw.end(jsonData)
|
41
|
-
}
|
42
|
-
|
43
|
-
})
|
44
|
-
|
45
|
-
server.listen(port);
|
46
|
-
});
|
47
|
-
|
48
|
-
after(function(done){
|
49
|
-
server.close(done);
|
50
|
-
})
|
51
|
-
|
52
|
-
describe('and client requests no compression', function() {
|
53
|
-
it('should have the body decompressed', function(done){
|
54
|
-
needle.get('localhost:' + port, function(err, response, body){
|
55
|
-
should.ifError(err);
|
56
|
-
body.should.have.property('foo', 'bar');
|
57
|
-
response.bytes.should.equal(jsonData.length);
|
58
|
-
done();
|
59
|
-
})
|
60
|
-
})
|
61
|
-
})
|
62
|
-
|
63
|
-
describe('and client requests gzip compression', function() {
|
64
|
-
it('should have the body decompressed', function(done){
|
65
|
-
needle.get('localhost:' + port, {headers: {'Accept-Encoding': 'gzip'}}, function(err, response, body){
|
66
|
-
should.ifError(err);
|
67
|
-
body.should.have.property('foo', 'bar');
|
68
|
-
response.bytes.should.not.equal(jsonData.length);
|
69
|
-
done();
|
70
|
-
})
|
71
|
-
})
|
72
|
-
})
|
73
|
-
|
74
|
-
describe('and client requests deflate compression', function() {
|
75
|
-
it('should have the body decompressed', function(done){
|
76
|
-
needle.get('localhost:' + port, {headers: {'Accept-Encoding': 'deflate'}}, function(err, response, body){
|
77
|
-
should.ifError(err);
|
78
|
-
body.should.have.property('foo', 'bar');
|
79
|
-
response.bytes.should.not.equal(jsonData.length);
|
80
|
-
done();
|
81
|
-
})
|
82
|
-
})
|
83
|
-
|
84
|
-
it('should rethrow errors from decompressors', function(done){
|
85
|
-
needle.get('localhost:' + port, {headers: {'Accept-Encoding': 'deflate', 'With-Bad': 'true'}}, function(err, response, body) {
|
86
|
-
should.exist(err);
|
87
|
-
err.message.should.equal("incorrect header check");
|
88
|
-
err.code.should.equal("Z_DATA_ERROR")
|
89
|
-
done();
|
90
|
-
})
|
91
|
-
})
|
92
|
-
})
|
93
|
-
})
|
94
|
-
})
|
@@ -1,305 +0,0 @@
|
|
1
|
-
var needle = require('../'),
|
2
|
-
cookies = require('../lib/cookies'),
|
3
|
-
sinon = require('sinon'),
|
4
|
-
http = require('http'),
|
5
|
-
should = require('should'),
|
6
|
-
assert = require('assert');
|
7
|
-
|
8
|
-
var WEIRD_COOKIE_NAME = 'wc',
|
9
|
-
BASE64_COOKIE_NAME = 'bc',
|
10
|
-
FORBIDDEN_COOKIE_NAME = 'fc',
|
11
|
-
NUMBER_COOKIE_NAME = 'nc';
|
12
|
-
|
13
|
-
var WEIRD_COOKIE_VALUE = '!\'*+#()&-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~',
|
14
|
-
BASE64_COOKIE_VALUE = 'Y29va2llCg==',
|
15
|
-
FORBIDDEN_COOKIE_VALUE = ' ;"\\,',
|
16
|
-
NUMBER_COOKIE_VALUE = 12354342;
|
17
|
-
|
18
|
-
var TEST_HOST = 'localhost',
|
19
|
-
NO_COOKIES_TEST_PORT = 11112,
|
20
|
-
ALL_COOKIES_TEST_PORT = 11113;
|
21
|
-
|
22
|
-
describe('cookies', function() {
|
23
|
-
|
24
|
-
var setCookieHeader, headers, server, opts;
|
25
|
-
|
26
|
-
function decode(str) {
|
27
|
-
return decodeURIComponent(str);
|
28
|
-
}
|
29
|
-
|
30
|
-
function encode(str) {
|
31
|
-
str = str.toString().replace(/[\x00-\x1F\x7F]/g, encodeURIComponent);
|
32
|
-
return str.replace(/[\s\"\,;\\%]/g, encodeURIComponent);
|
33
|
-
}
|
34
|
-
|
35
|
-
before(function() {
|
36
|
-
setCookieHeader = [
|
37
|
-
WEIRD_COOKIE_NAME + '=' + encode(WEIRD_COOKIE_VALUE) + ';',
|
38
|
-
BASE64_COOKIE_NAME + '=' + encode(BASE64_COOKIE_VALUE) + ';',
|
39
|
-
FORBIDDEN_COOKIE_NAME + '=' + encode(FORBIDDEN_COOKIE_VALUE) + ';',
|
40
|
-
NUMBER_COOKIE_NAME + '=' + encode(NUMBER_COOKIE_VALUE) + ';'
|
41
|
-
];
|
42
|
-
});
|
43
|
-
|
44
|
-
before(function(done) {
|
45
|
-
serverAllCookies = http.createServer(function(req, res) {
|
46
|
-
res.setHeader('Content-Type', 'text/html');
|
47
|
-
res.setHeader('Set-Cookie', setCookieHeader);
|
48
|
-
res.end('200');
|
49
|
-
}).listen(ALL_COOKIES_TEST_PORT, TEST_HOST, done);
|
50
|
-
});
|
51
|
-
|
52
|
-
after(function(done) {
|
53
|
-
serverAllCookies.close(done);
|
54
|
-
});
|
55
|
-
|
56
|
-
describe('with default options', function() {
|
57
|
-
it('no cookie header is set on request', function(done) {
|
58
|
-
needle.get(
|
59
|
-
TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, function(err, response) {
|
60
|
-
assert(!response.req._headers.cookie);
|
61
|
-
done();
|
62
|
-
});
|
63
|
-
});
|
64
|
-
});
|
65
|
-
|
66
|
-
describe('if response does not contain cookies', function() {
|
67
|
-
before(function(done) {
|
68
|
-
serverNoCookies = http.createServer(function(req, res) {
|
69
|
-
res.setHeader('Content-Type', 'text/html');
|
70
|
-
res.end('200');
|
71
|
-
}).listen(NO_COOKIES_TEST_PORT, TEST_HOST, done);
|
72
|
-
});
|
73
|
-
|
74
|
-
it('response.cookies is undefined', function(done) {
|
75
|
-
needle.get(
|
76
|
-
TEST_HOST + ':' + NO_COOKIES_TEST_PORT, function(error, response) {
|
77
|
-
assert(!response.cookies);
|
78
|
-
done();
|
79
|
-
});
|
80
|
-
});
|
81
|
-
|
82
|
-
after(function(done) {
|
83
|
-
serverNoCookies.close(done);
|
84
|
-
});
|
85
|
-
});
|
86
|
-
|
87
|
-
describe('if response contains cookies', function() {
|
88
|
-
|
89
|
-
it('puts them on resp.cookies', function(done) {
|
90
|
-
needle.get(
|
91
|
-
TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, function(error, response) {
|
92
|
-
response.should.have.property('cookies');
|
93
|
-
done();
|
94
|
-
});
|
95
|
-
});
|
96
|
-
|
97
|
-
it('parses them as a object', function(done) {
|
98
|
-
needle.get(
|
99
|
-
TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, function(error, response) {
|
100
|
-
response.cookies.should.be.an.instanceOf(Object)
|
101
|
-
.and.have.property(WEIRD_COOKIE_NAME);
|
102
|
-
response.cookies.should.have.property(BASE64_COOKIE_NAME);
|
103
|
-
response.cookies.should.have.property(FORBIDDEN_COOKIE_NAME);
|
104
|
-
response.cookies.should.have.property(NUMBER_COOKIE_NAME);
|
105
|
-
done();
|
106
|
-
});
|
107
|
-
});
|
108
|
-
|
109
|
-
it('must decode it', function(done) {
|
110
|
-
needle.get(
|
111
|
-
TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, function(error, response) {
|
112
|
-
response.cookies.wc.should.be.eql(WEIRD_COOKIE_VALUE);
|
113
|
-
response.cookies.bc.should.be.eql(BASE64_COOKIE_VALUE);
|
114
|
-
response.cookies.fc.should.be.eql(FORBIDDEN_COOKIE_VALUE);
|
115
|
-
response.cookies.nc.should.be.eql(NUMBER_COOKIE_VALUE.toString());
|
116
|
-
done();
|
117
|
-
});
|
118
|
-
});
|
119
|
-
|
120
|
-
describe('when a cookie value is invalid', function() {
|
121
|
-
|
122
|
-
before(function() {
|
123
|
-
setCookieHeader = [
|
124
|
-
'geo_city=%D1%E0%ED%EA%F2-%CF%E5%F2%E5%F0%E1%F3%F0%E3'
|
125
|
-
];
|
126
|
-
})
|
127
|
-
|
128
|
-
it('doesnt blow up', function(done) {
|
129
|
-
needle.get(TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, function(error, response) {
|
130
|
-
should.not.exist(error)
|
131
|
-
var whatever = 'efbfbdefbfbdefbfbdefbfbdefbfbd2defbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbd';
|
132
|
-
Buffer.from(response.cookies.geo_city).toString('hex').should.eql(whatever)
|
133
|
-
done();
|
134
|
-
});
|
135
|
-
})
|
136
|
-
|
137
|
-
})
|
138
|
-
|
139
|
-
describe('and response is a redirect', function() {
|
140
|
-
|
141
|
-
var redirectServer, testPort = 22222;
|
142
|
-
|
143
|
-
var responseCookies = [
|
144
|
-
[ // first req
|
145
|
-
WEIRD_COOKIE_NAME + '=' + encode(WEIRD_COOKIE_VALUE) + ';',
|
146
|
-
BASE64_COOKIE_NAME + '=' + encode(BASE64_COOKIE_VALUE) + ';',
|
147
|
-
'FOO=123;'
|
148
|
-
], [ // second req
|
149
|
-
FORBIDDEN_COOKIE_NAME + '=' + encode(FORBIDDEN_COOKIE_VALUE) + ';',
|
150
|
-
NUMBER_COOKIE_NAME + '=' + encode(NUMBER_COOKIE_VALUE) + ';'
|
151
|
-
], [ // third red
|
152
|
-
'FOO=BAR;'
|
153
|
-
]
|
154
|
-
]
|
155
|
-
|
156
|
-
before(function() {
|
157
|
-
redirectServer = http.createServer(function(req, res) {
|
158
|
-
var number = parseInt(req.url.replace('/', ''));
|
159
|
-
var nextUrl = 'http://' + TEST_HOST + ':' + testPort + '/' + (number + 1);
|
160
|
-
|
161
|
-
if (responseCookies[number]) { // got cookies
|
162
|
-
res.statusCode = 302;
|
163
|
-
res.setHeader('Set-Cookie', responseCookies[number]);
|
164
|
-
res.setHeader('Location', nextUrl);
|
165
|
-
} else if (number == 3) {
|
166
|
-
res.statusCode = 302; // redirect but without cookies
|
167
|
-
res.setHeader('Location', nextUrl);
|
168
|
-
}
|
169
|
-
|
170
|
-
res.end('OK');
|
171
|
-
}).listen(22222, TEST_HOST);
|
172
|
-
});
|
173
|
-
|
174
|
-
after(function(done) {
|
175
|
-
redirectServer.close(done);
|
176
|
-
})
|
177
|
-
|
178
|
-
describe('and follow_set_cookies is false', function() {
|
179
|
-
|
180
|
-
var opts = {
|
181
|
-
follow_set_cookies: false,
|
182
|
-
follow_max: 4
|
183
|
-
};
|
184
|
-
|
185
|
-
it('no cookie header set on redirection request', function(done) {
|
186
|
-
var spy = sinon.spy(cookies, 'write');
|
187
|
-
|
188
|
-
needle.get(TEST_HOST + ':' + testPort + '/0', opts, function(err, resp) {
|
189
|
-
spy.callCount.should.eql(0);
|
190
|
-
done();
|
191
|
-
});
|
192
|
-
});
|
193
|
-
});
|
194
|
-
|
195
|
-
describe('and follow_set_cookies is true', function() {
|
196
|
-
var opts = {
|
197
|
-
follow_set_cookies: true,
|
198
|
-
follow_max: 4
|
199
|
-
};
|
200
|
-
|
201
|
-
it('should have all the cookies', function(done) {
|
202
|
-
needle.get(TEST_HOST + ':' + testPort + '/0', opts, function(err, resp) {
|
203
|
-
resp.cookies.should.have.property(WEIRD_COOKIE_NAME);
|
204
|
-
resp.cookies.should.have.property(BASE64_COOKIE_NAME);
|
205
|
-
resp.cookies.should.have.property(FORBIDDEN_COOKIE_NAME);
|
206
|
-
resp.cookies.should.have.property(NUMBER_COOKIE_NAME);
|
207
|
-
resp.cookies.should.have.property('FOO');
|
208
|
-
resp.cookies.FOO.should.eql('BAR'); // should overwrite previous one
|
209
|
-
done();
|
210
|
-
});
|
211
|
-
});
|
212
|
-
});
|
213
|
-
});
|
214
|
-
|
215
|
-
describe('with parse_cookies = false', function() {
|
216
|
-
it('does not parse them', function(done) {
|
217
|
-
needle.get(
|
218
|
-
TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, { parse_cookies: false }, function(error, response) {
|
219
|
-
assert(!response.cookies);
|
220
|
-
done();
|
221
|
-
});
|
222
|
-
});
|
223
|
-
});
|
224
|
-
});
|
225
|
-
|
226
|
-
describe('if request contains cookie header', function() {
|
227
|
-
var opts = {
|
228
|
-
cookies: {}
|
229
|
-
};
|
230
|
-
|
231
|
-
before(function() {
|
232
|
-
opts.cookies[WEIRD_COOKIE_NAME] = WEIRD_COOKIE_VALUE;
|
233
|
-
opts.cookies[BASE64_COOKIE_NAME] = BASE64_COOKIE_VALUE;
|
234
|
-
opts.cookies[FORBIDDEN_COOKIE_NAME] = FORBIDDEN_COOKIE_VALUE;
|
235
|
-
opts.cookies[NUMBER_COOKIE_NAME] = NUMBER_COOKIE_VALUE;
|
236
|
-
});
|
237
|
-
|
238
|
-
it('must be a valid cookie string', function(done) {
|
239
|
-
var COOKIE_PAIR = /^([^=\s]+)\s*=\s*("?)\s*(.*)\s*\2\s*$/;
|
240
|
-
|
241
|
-
var full_header = [
|
242
|
-
WEIRD_COOKIE_NAME + '=' + WEIRD_COOKIE_VALUE,
|
243
|
-
BASE64_COOKIE_NAME + '=' + BASE64_COOKIE_VALUE,
|
244
|
-
FORBIDDEN_COOKIE_NAME + '=' + encode(FORBIDDEN_COOKIE_VALUE),
|
245
|
-
NUMBER_COOKIE_NAME + '=' + NUMBER_COOKIE_VALUE
|
246
|
-
].join('; ')
|
247
|
-
|
248
|
-
needle.get(TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, opts, function(error, response) {
|
249
|
-
var cookieString = response.req._headers.cookie;
|
250
|
-
cookieString.should.be.type('string');
|
251
|
-
|
252
|
-
cookieString.split(/\s*;\s*/).forEach(function(pair) {
|
253
|
-
COOKIE_PAIR.test(pair).should.be.exactly(true);
|
254
|
-
});
|
255
|
-
|
256
|
-
cookieString.should.be.exactly(full_header);
|
257
|
-
done();
|
258
|
-
});
|
259
|
-
});
|
260
|
-
|
261
|
-
it('dont have to encode allowed characters', function(done) {
|
262
|
-
var COOKIE_PAIR = /^([^=\s]+)\s*=\s*("?)\s*(.*)\s*\2\s*$/,
|
263
|
-
KEY_INDEX = 1,
|
264
|
-
VALUE_INEX = 3;
|
265
|
-
|
266
|
-
needle.get(TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, opts, function(error, response) {
|
267
|
-
var cookieObj = {},
|
268
|
-
cookieString = response.req._headers.cookie;
|
269
|
-
|
270
|
-
cookieString.split(/\s*;\s*/).forEach(function(str) {
|
271
|
-
var pair = COOKIE_PAIR.exec(str);
|
272
|
-
cookieObj[pair[KEY_INDEX]] = pair[VALUE_INEX];
|
273
|
-
});
|
274
|
-
|
275
|
-
cookieObj[WEIRD_COOKIE_NAME].should.be.exactly(WEIRD_COOKIE_VALUE);
|
276
|
-
cookieObj[BASE64_COOKIE_NAME].should.be.exactly(BASE64_COOKIE_VALUE);
|
277
|
-
done();
|
278
|
-
});
|
279
|
-
});
|
280
|
-
|
281
|
-
it('must encode forbidden characters', function(done) {
|
282
|
-
var COOKIE_PAIR = /^([^=\s]+)\s*=\s*("?)\s*(.*)\s*\2\s*$/,
|
283
|
-
KEY_INDEX = 1,
|
284
|
-
VALUE_INEX = 3;
|
285
|
-
|
286
|
-
needle.get(TEST_HOST + ':' + ALL_COOKIES_TEST_PORT, opts, function(error, response) {
|
287
|
-
var cookieObj = {},
|
288
|
-
cookieString = response.req._headers.cookie;
|
289
|
-
|
290
|
-
cookieString.split(/\s*;\s*/).forEach(function(str) {
|
291
|
-
var pair = COOKIE_PAIR.exec(str);
|
292
|
-
cookieObj[pair[KEY_INDEX]] = pair[VALUE_INEX];
|
293
|
-
});
|
294
|
-
|
295
|
-
cookieObj[FORBIDDEN_COOKIE_NAME].should.not.be.eql(
|
296
|
-
FORBIDDEN_COOKIE_VALUE);
|
297
|
-
cookieObj[FORBIDDEN_COOKIE_NAME].should.be.exactly(
|
298
|
-
encode(FORBIDDEN_COOKIE_VALUE));
|
299
|
-
cookieObj[FORBIDDEN_COOKIE_NAME].should.be.exactly(
|
300
|
-
encodeURIComponent(FORBIDDEN_COOKIE_VALUE));
|
301
|
-
done();
|
302
|
-
});
|
303
|
-
});
|
304
|
-
});
|
305
|
-
});
|
@@ -1,86 +0,0 @@
|
|
1
|
-
var should = require('should'),
|
2
|
-
needle = require('./../'),
|
3
|
-
Q = require('q'),
|
4
|
-
chardet = require('jschardet');
|
5
|
-
|
6
|
-
describe('character encoding', function() {
|
7
|
-
|
8
|
-
var url;
|
9
|
-
this.timeout(5000);
|
10
|
-
|
11
|
-
describe('test A', function() {
|
12
|
-
|
13
|
-
before(function() {
|
14
|
-
url = 'http://www.nina.jp/server/slackware/webapp/tomcat_charset.html';
|
15
|
-
})
|
16
|
-
|
17
|
-
describe('with decode = false', function() {
|
18
|
-
|
19
|
-
it('does not decode', function(done) {
|
20
|
-
|
21
|
-
needle.get(url, { decode: false }, function(err, resp) {
|
22
|
-
resp.body.should.be.a.String;
|
23
|
-
chardet.detect(resp.body).encoding.should.eql('windows-1252');
|
24
|
-
resp.body.indexOf('EUCを使う').should.eql(-1);
|
25
|
-
done();
|
26
|
-
})
|
27
|
-
|
28
|
-
})
|
29
|
-
|
30
|
-
})
|
31
|
-
|
32
|
-
describe('with decode = true', function() {
|
33
|
-
|
34
|
-
it('decodes', function(done) {
|
35
|
-
|
36
|
-
needle.get(url, { decode: true }, function(err, resp) {
|
37
|
-
resp.body.should.be.a.String;
|
38
|
-
chardet.detect(resp.body).encoding.should.eql('ascii');
|
39
|
-
resp.body.indexOf('EUCを使う').should.not.eql(-1);
|
40
|
-
done();
|
41
|
-
})
|
42
|
-
|
43
|
-
})
|
44
|
-
|
45
|
-
})
|
46
|
-
|
47
|
-
})
|
48
|
-
|
49
|
-
describe('test B', function() {
|
50
|
-
|
51
|
-
it('encodes to UTF-8', function(done) {
|
52
|
-
|
53
|
-
// Our Needle wrapper that requests a chinese website.
|
54
|
-
var task = Q.nbind(needle.get, needle, 'http://www.chinesetop100.com/');
|
55
|
-
|
56
|
-
// Different instantiations of this task
|
57
|
-
var tasks = [Q.fcall(task, {decode: true}),
|
58
|
-
Q.fcall(task, {decode: false})];
|
59
|
-
|
60
|
-
var results = tasks.map(function(task) {
|
61
|
-
return task.then(function(obj) {
|
62
|
-
return obj[0].body;
|
63
|
-
});
|
64
|
-
});
|
65
|
-
|
66
|
-
// Execute all requests concurrently
|
67
|
-
Q.all(results).done(function(bodies) {
|
68
|
-
|
69
|
-
var charsets = [
|
70
|
-
chardet.detect(bodies[0]).encoding,
|
71
|
-
chardet.detect(bodies[1]).encoding,
|
72
|
-
]
|
73
|
-
|
74
|
-
// We wanted to decode our first stream.
|
75
|
-
charsets[0].should.equal('ascii');
|
76
|
-
bodies[0].indexOf('全球中文网站前二十强').should.not.equal(-1);
|
77
|
-
|
78
|
-
// But not our second stream.
|
79
|
-
charsets[1].should.equal('windows-1252');
|
80
|
-
bodies[1].indexOf('全球中文网站前二十强').should.equal(-1);
|
81
|
-
|
82
|
-
done();
|
83
|
-
});
|
84
|
-
})
|
85
|
-
})
|
86
|
-
})
|