fsevents 1.2.12 → 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.
Files changed (498) hide show
  1. package/.travis.yml +6 -4
  2. package/install.js +13 -0
  3. package/package.json +3 -5
  4. package/node_modules/abbrev/LICENSE +0 -46
  5. package/node_modules/abbrev/README.md +0 -23
  6. package/node_modules/abbrev/abbrev.js +0 -61
  7. package/node_modules/abbrev/package.json +0 -56
  8. package/node_modules/ansi-regex/index.js +0 -4
  9. package/node_modules/ansi-regex/license +0 -21
  10. package/node_modules/ansi-regex/package.json +0 -108
  11. package/node_modules/ansi-regex/readme.md +0 -39
  12. package/node_modules/aproba/LICENSE +0 -14
  13. package/node_modules/aproba/README.md +0 -94
  14. package/node_modules/aproba/index.js +0 -105
  15. package/node_modules/aproba/package.json +0 -62
  16. package/node_modules/are-we-there-yet/CHANGES.md +0 -37
  17. package/node_modules/are-we-there-yet/LICENSE +0 -5
  18. package/node_modules/are-we-there-yet/README.md +0 -195
  19. package/node_modules/are-we-there-yet/index.js +0 -4
  20. package/node_modules/are-we-there-yet/package.json +0 -63
  21. package/node_modules/are-we-there-yet/tracker-base.js +0 -11
  22. package/node_modules/are-we-there-yet/tracker-group.js +0 -107
  23. package/node_modules/are-we-there-yet/tracker-stream.js +0 -36
  24. package/node_modules/are-we-there-yet/tracker.js +0 -30
  25. package/node_modules/balanced-match/.npmignore +0 -5
  26. package/node_modules/balanced-match/LICENSE.md +0 -21
  27. package/node_modules/balanced-match/README.md +0 -91
  28. package/node_modules/balanced-match/index.js +0 -59
  29. package/node_modules/balanced-match/package.json +0 -77
  30. package/node_modules/brace-expansion/LICENSE +0 -21
  31. package/node_modules/brace-expansion/README.md +0 -129
  32. package/node_modules/brace-expansion/index.js +0 -201
  33. package/node_modules/brace-expansion/package.json +0 -75
  34. package/node_modules/chownr/LICENSE +0 -15
  35. package/node_modules/chownr/README.md +0 -3
  36. package/node_modules/chownr/chownr.js +0 -167
  37. package/node_modules/chownr/package.json +0 -62
  38. package/node_modules/code-point-at/index.js +0 -32
  39. package/node_modules/code-point-at/license +0 -21
  40. package/node_modules/code-point-at/package.json +0 -70
  41. package/node_modules/code-point-at/readme.md +0 -32
  42. package/node_modules/concat-map/.travis.yml +0 -4
  43. package/node_modules/concat-map/LICENSE +0 -18
  44. package/node_modules/concat-map/README.markdown +0 -62
  45. package/node_modules/concat-map/example/map.js +0 -6
  46. package/node_modules/concat-map/index.js +0 -13
  47. package/node_modules/concat-map/package.json +0 -88
  48. package/node_modules/concat-map/test/map.js +0 -39
  49. package/node_modules/console-control-strings/LICENSE +0 -13
  50. package/node_modules/console-control-strings/README.md +0 -145
  51. package/node_modules/console-control-strings/README.md~ +0 -140
  52. package/node_modules/console-control-strings/index.js +0 -125
  53. package/node_modules/console-control-strings/package.json +0 -61
  54. package/node_modules/core-util-is/LICENSE +0 -19
  55. package/node_modules/core-util-is/README.md +0 -3
  56. package/node_modules/core-util-is/float.patch +0 -604
  57. package/node_modules/core-util-is/lib/util.js +0 -107
  58. package/node_modules/core-util-is/package.json +0 -62
  59. package/node_modules/core-util-is/test.js +0 -68
  60. package/node_modules/debug/CHANGELOG.md +0 -395
  61. package/node_modules/debug/LICENSE +0 -19
  62. package/node_modules/debug/README.md +0 -437
  63. package/node_modules/debug/dist/debug.js +0 -886
  64. package/node_modules/debug/node.js +0 -1
  65. package/node_modules/debug/package.json +0 -90
  66. package/node_modules/debug/src/browser.js +0 -180
  67. package/node_modules/debug/src/common.js +0 -249
  68. package/node_modules/debug/src/index.js +0 -12
  69. package/node_modules/debug/src/node.js +0 -174
  70. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  71. package/node_modules/deep-extend/LICENSE +0 -20
  72. package/node_modules/deep-extend/README.md +0 -91
  73. package/node_modules/deep-extend/index.js +0 -1
  74. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  75. package/node_modules/deep-extend/package.json +0 -92
  76. package/node_modules/delegates/.npmignore +0 -1
  77. package/node_modules/delegates/History.md +0 -22
  78. package/node_modules/delegates/License +0 -20
  79. package/node_modules/delegates/Makefile +0 -8
  80. package/node_modules/delegates/Readme.md +0 -94
  81. package/node_modules/delegates/index.js +0 -121
  82. package/node_modules/delegates/package.json +0 -48
  83. package/node_modules/delegates/test/index.js +0 -94
  84. package/node_modules/detect-libc/.npmignore +0 -7
  85. package/node_modules/detect-libc/LICENSE +0 -201
  86. package/node_modules/detect-libc/README.md +0 -78
  87. package/node_modules/detect-libc/bin/detect-libc.js +0 -18
  88. package/node_modules/detect-libc/lib/detect-libc.js +0 -92
  89. package/node_modules/detect-libc/package.json +0 -70
  90. package/node_modules/fs-minipass/LICENSE +0 -15
  91. package/node_modules/fs-minipass/README.md +0 -70
  92. package/node_modules/fs-minipass/index.js +0 -387
  93. package/node_modules/fs-minipass/package.json +0 -65
  94. package/node_modules/fs.realpath/LICENSE +0 -43
  95. package/node_modules/fs.realpath/README.md +0 -33
  96. package/node_modules/fs.realpath/index.js +0 -66
  97. package/node_modules/fs.realpath/old.js +0 -303
  98. package/node_modules/fs.realpath/package.json +0 -59
  99. package/node_modules/gauge/CHANGELOG.md +0 -160
  100. package/node_modules/gauge/LICENSE +0 -13
  101. package/node_modules/gauge/README.md +0 -399
  102. package/node_modules/gauge/base-theme.js +0 -14
  103. package/node_modules/gauge/error.js +0 -24
  104. package/node_modules/gauge/has-color.js +0 -12
  105. package/node_modules/gauge/index.js +0 -233
  106. package/node_modules/gauge/package.json +0 -91
  107. package/node_modules/gauge/plumbing.js +0 -48
  108. package/node_modules/gauge/process.js +0 -3
  109. package/node_modules/gauge/progress-bar.js +0 -35
  110. package/node_modules/gauge/render-template.js +0 -181
  111. package/node_modules/gauge/set-immediate.js +0 -7
  112. package/node_modules/gauge/set-interval.js +0 -3
  113. package/node_modules/gauge/spin.js +0 -5
  114. package/node_modules/gauge/template-item.js +0 -73
  115. package/node_modules/gauge/theme-set.js +0 -115
  116. package/node_modules/gauge/themes.js +0 -54
  117. package/node_modules/gauge/wide-truncate.js +0 -25
  118. package/node_modules/glob/LICENSE +0 -21
  119. package/node_modules/glob/README.md +0 -375
  120. package/node_modules/glob/changelog.md +0 -67
  121. package/node_modules/glob/common.js +0 -240
  122. package/node_modules/glob/glob.js +0 -790
  123. package/node_modules/glob/package.json +0 -79
  124. package/node_modules/glob/sync.js +0 -486
  125. package/node_modules/has-unicode/LICENSE +0 -14
  126. package/node_modules/has-unicode/README.md +0 -43
  127. package/node_modules/has-unicode/index.js +0 -16
  128. package/node_modules/has-unicode/package.json +0 -58
  129. package/node_modules/iconv-lite/Changelog.md +0 -162
  130. package/node_modules/iconv-lite/LICENSE +0 -21
  131. package/node_modules/iconv-lite/README.md +0 -156
  132. package/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  133. package/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  134. package/node_modules/iconv-lite/encodings/index.js +0 -22
  135. package/node_modules/iconv-lite/encodings/internal.js +0 -188
  136. package/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  137. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  138. package/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  139. package/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  140. package/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  141. package/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  142. package/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  143. package/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  144. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  145. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  146. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  147. package/node_modules/iconv-lite/encodings/utf16.js +0 -177
  148. package/node_modules/iconv-lite/encodings/utf7.js +0 -290
  149. package/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  150. package/node_modules/iconv-lite/lib/extend-node.js +0 -217
  151. package/node_modules/iconv-lite/lib/index.d.ts +0 -24
  152. package/node_modules/iconv-lite/lib/index.js +0 -153
  153. package/node_modules/iconv-lite/lib/streams.js +0 -121
  154. package/node_modules/iconv-lite/package.json +0 -76
  155. package/node_modules/ignore-walk/LICENSE +0 -15
  156. package/node_modules/ignore-walk/README.md +0 -60
  157. package/node_modules/ignore-walk/index.js +0 -269
  158. package/node_modules/ignore-walk/package.json +0 -74
  159. package/node_modules/inflight/LICENSE +0 -15
  160. package/node_modules/inflight/README.md +0 -37
  161. package/node_modules/inflight/inflight.js +0 -54
  162. package/node_modules/inflight/package.json +0 -58
  163. package/node_modules/inherits/LICENSE +0 -16
  164. package/node_modules/inherits/README.md +0 -42
  165. package/node_modules/inherits/inherits.js +0 -9
  166. package/node_modules/inherits/inherits_browser.js +0 -27
  167. package/node_modules/inherits/package.json +0 -62
  168. package/node_modules/ini/LICENSE +0 -15
  169. package/node_modules/ini/README.md +0 -102
  170. package/node_modules/ini/ini.js +0 -194
  171. package/node_modules/ini/package.json +0 -63
  172. package/node_modules/is-fullwidth-code-point/index.js +0 -46
  173. package/node_modules/is-fullwidth-code-point/license +0 -21
  174. package/node_modules/is-fullwidth-code-point/package.json +0 -77
  175. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  176. package/node_modules/isarray/.npmignore +0 -1
  177. package/node_modules/isarray/.travis.yml +0 -4
  178. package/node_modules/isarray/Makefile +0 -6
  179. package/node_modules/isarray/README.md +0 -60
  180. package/node_modules/isarray/component.json +0 -19
  181. package/node_modules/isarray/index.js +0 -5
  182. package/node_modules/isarray/package.json +0 -73
  183. package/node_modules/isarray/test.js +0 -20
  184. package/node_modules/minimatch/LICENSE +0 -15
  185. package/node_modules/minimatch/README.md +0 -209
  186. package/node_modules/minimatch/minimatch.js +0 -923
  187. package/node_modules/minimatch/package.json +0 -64
  188. package/node_modules/minimist/.travis.yml +0 -8
  189. package/node_modules/minimist/LICENSE +0 -18
  190. package/node_modules/minimist/example/parse.js +0 -2
  191. package/node_modules/minimist/index.js +0 -245
  192. package/node_modules/minimist/package.json +0 -74
  193. package/node_modules/minimist/readme.markdown +0 -95
  194. package/node_modules/minimist/test/all_bool.js +0 -32
  195. package/node_modules/minimist/test/bool.js +0 -178
  196. package/node_modules/minimist/test/dash.js +0 -31
  197. package/node_modules/minimist/test/default_bool.js +0 -35
  198. package/node_modules/minimist/test/dotted.js +0 -22
  199. package/node_modules/minimist/test/kv_short.js +0 -16
  200. package/node_modules/minimist/test/long.js +0 -31
  201. package/node_modules/minimist/test/num.js +0 -36
  202. package/node_modules/minimist/test/parse.js +0 -197
  203. package/node_modules/minimist/test/parse_modified.js +0 -9
  204. package/node_modules/minimist/test/proto.js +0 -44
  205. package/node_modules/minimist/test/short.js +0 -67
  206. package/node_modules/minimist/test/stop_early.js +0 -15
  207. package/node_modules/minimist/test/unknown.js +0 -102
  208. package/node_modules/minimist/test/whitespace.js +0 -8
  209. package/node_modules/minipass/LICENSE +0 -15
  210. package/node_modules/minipass/README.md +0 -606
  211. package/node_modules/minipass/index.js +0 -537
  212. package/node_modules/minipass/package.json +0 -72
  213. package/node_modules/minizlib/LICENSE +0 -26
  214. package/node_modules/minizlib/README.md +0 -53
  215. package/node_modules/minizlib/constants.js +0 -115
  216. package/node_modules/minizlib/index.js +0 -320
  217. package/node_modules/minizlib/package.json +0 -71
  218. package/node_modules/mkdirp/LICENSE +0 -21
  219. package/node_modules/mkdirp/bin/cmd.js +0 -33
  220. package/node_modules/mkdirp/bin/usage.txt +0 -12
  221. package/node_modules/mkdirp/index.js +0 -98
  222. package/node_modules/mkdirp/package.json +0 -70
  223. package/node_modules/mkdirp/readme.markdown +0 -100
  224. package/node_modules/ms/index.js +0 -162
  225. package/node_modules/ms/license.md +0 -21
  226. package/node_modules/ms/package.json +0 -69
  227. package/node_modules/ms/readme.md +0 -60
  228. package/node_modules/needle/.github/workflows/nodejs.yml +0 -27
  229. package/node_modules/needle/README.md +0 -593
  230. package/node_modules/needle/bin/needle +0 -40
  231. package/node_modules/needle/examples/deflated-stream.js +0 -22
  232. package/node_modules/needle/examples/digest-auth.js +0 -16
  233. package/node_modules/needle/examples/download-to-file.js +0 -18
  234. package/node_modules/needle/examples/multipart-stream.js +0 -25
  235. package/node_modules/needle/examples/parsed-stream.js +0 -23
  236. package/node_modules/needle/examples/parsed-stream2.js +0 -21
  237. package/node_modules/needle/examples/stream-events.js +0 -23
  238. package/node_modules/needle/examples/stream-to-file.js +0 -14
  239. package/node_modules/needle/examples/upload-image.js +0 -51
  240. package/node_modules/needle/lib/auth.js +0 -110
  241. package/node_modules/needle/lib/cookies.js +0 -79
  242. package/node_modules/needle/lib/decoder.js +0 -53
  243. package/node_modules/needle/lib/multipart.js +0 -98
  244. package/node_modules/needle/lib/needle.js +0 -803
  245. package/node_modules/needle/lib/parsers.js +0 -120
  246. package/node_modules/needle/lib/querystring.js +0 -49
  247. package/node_modules/needle/license.txt +0 -19
  248. package/node_modules/needle/package.json +0 -102
  249. package/node_modules/needle/test/basic_auth_spec.js +0 -196
  250. package/node_modules/needle/test/compression_spec.js +0 -112
  251. package/node_modules/needle/test/cookies_spec.js +0 -305
  252. package/node_modules/needle/test/decoder_spec.js +0 -86
  253. package/node_modules/needle/test/errors_spec.js +0 -286
  254. package/node_modules/needle/test/headers_spec.js +0 -198
  255. package/node_modules/needle/test/helpers.js +0 -72
  256. package/node_modules/needle/test/long_string_spec.js +0 -34
  257. package/node_modules/needle/test/output_spec.js +0 -254
  258. package/node_modules/needle/test/parsing_spec.js +0 -494
  259. package/node_modules/needle/test/post_data_spec.js +0 -1021
  260. package/node_modules/needle/test/proxy_spec.js +0 -202
  261. package/node_modules/needle/test/querystring_spec.js +0 -128
  262. package/node_modules/needle/test/redirect_spec.js +0 -392
  263. package/node_modules/needle/test/redirect_with_timeout.js +0 -45
  264. package/node_modules/needle/test/request_stream_spec.js +0 -202
  265. package/node_modules/needle/test/response_stream_spec.js +0 -139
  266. package/node_modules/needle/test/socket_pool_spec.js +0 -66
  267. package/node_modules/needle/test/url_spec.js +0 -155
  268. package/node_modules/needle/test/utils/formidable.js +0 -17
  269. package/node_modules/needle/test/utils/proxy.js +0 -62
  270. package/node_modules/needle/test/utils/test.js +0 -104
  271. package/node_modules/node-pre-gyp/CHANGELOG.md +0 -443
  272. package/node_modules/node-pre-gyp/LICENSE +0 -27
  273. package/node_modules/node-pre-gyp/README.md +0 -693
  274. package/node_modules/node-pre-gyp/appveyor.yml +0 -30
  275. package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -134
  276. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  277. package/node_modules/node-pre-gyp/contributing.md +0 -10
  278. package/node_modules/node-pre-gyp/lib/build.js +0 -51
  279. package/node_modules/node-pre-gyp/lib/clean.js +0 -32
  280. package/node_modules/node-pre-gyp/lib/configure.js +0 -52
  281. package/node_modules/node-pre-gyp/lib/info.js +0 -40
  282. package/node_modules/node-pre-gyp/lib/install.js +0 -285
  283. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -203
  284. package/node_modules/node-pre-gyp/lib/package.js +0 -56
  285. package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -30
  286. package/node_modules/node-pre-gyp/lib/publish.js +0 -79
  287. package/node_modules/node-pre-gyp/lib/rebuild.js +0 -21
  288. package/node_modules/node-pre-gyp/lib/reinstall.js +0 -20
  289. package/node_modules/node-pre-gyp/lib/reveal.js +0 -33
  290. package/node_modules/node-pre-gyp/lib/testbinary.js +0 -81
  291. package/node_modules/node-pre-gyp/lib/testpackage.js +0 -55
  292. package/node_modules/node-pre-gyp/lib/unpublish.js +0 -43
  293. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -2070
  294. package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
  295. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -103
  296. package/node_modules/node-pre-gyp/lib/util/napi.js +0 -205
  297. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  298. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  299. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
  300. package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -331
  301. package/node_modules/node-pre-gyp/package.json +0 -87
  302. package/node_modules/nopt/CHANGELOG.md +0 -58
  303. package/node_modules/nopt/LICENSE +0 -15
  304. package/node_modules/nopt/README.md +0 -213
  305. package/node_modules/nopt/bin/nopt.js +0 -54
  306. package/node_modules/nopt/lib/nopt.js +0 -441
  307. package/node_modules/nopt/package.json +0 -65
  308. package/node_modules/npm-bundled/LICENSE +0 -15
  309. package/node_modules/npm-bundled/README.md +0 -48
  310. package/node_modules/npm-bundled/index.js +0 -249
  311. package/node_modules/npm-bundled/package.json +0 -63
  312. package/node_modules/npm-normalize-package-bin/.github/settings.yml +0 -2
  313. package/node_modules/npm-normalize-package-bin/.npmignore +0 -24
  314. package/node_modules/npm-normalize-package-bin/LICENSE +0 -15
  315. package/node_modules/npm-normalize-package-bin/README.md +0 -14
  316. package/node_modules/npm-normalize-package-bin/index.js +0 -60
  317. package/node_modules/npm-normalize-package-bin/package-lock.json +0 -3529
  318. package/node_modules/npm-normalize-package-bin/package.json +0 -58
  319. package/node_modules/npm-normalize-package-bin/test/array.js +0 -37
  320. package/node_modules/npm-normalize-package-bin/test/nobin.js +0 -35
  321. package/node_modules/npm-normalize-package-bin/test/object.js +0 -141
  322. package/node_modules/npm-normalize-package-bin/test/string.js +0 -37
  323. package/node_modules/npm-packlist/LICENSE +0 -15
  324. package/node_modules/npm-packlist/README.md +0 -68
  325. package/node_modules/npm-packlist/index.js +0 -289
  326. package/node_modules/npm-packlist/package.json +0 -74
  327. package/node_modules/npmlog/CHANGELOG.md +0 -49
  328. package/node_modules/npmlog/LICENSE +0 -15
  329. package/node_modules/npmlog/README.md +0 -216
  330. package/node_modules/npmlog/log.js +0 -309
  331. package/node_modules/npmlog/package.json +0 -61
  332. package/node_modules/number-is-nan/index.js +0 -4
  333. package/node_modules/number-is-nan/license +0 -21
  334. package/node_modules/number-is-nan/package.json +0 -67
  335. package/node_modules/number-is-nan/readme.md +0 -28
  336. package/node_modules/object-assign/index.js +0 -90
  337. package/node_modules/object-assign/license +0 -21
  338. package/node_modules/object-assign/package.json +0 -74
  339. package/node_modules/object-assign/readme.md +0 -61
  340. package/node_modules/once/LICENSE +0 -15
  341. package/node_modules/once/README.md +0 -79
  342. package/node_modules/once/once.js +0 -42
  343. package/node_modules/once/package.json +0 -67
  344. package/node_modules/os-homedir/index.js +0 -24
  345. package/node_modules/os-homedir/license +0 -21
  346. package/node_modules/os-homedir/package.json +0 -73
  347. package/node_modules/os-homedir/readme.md +0 -31
  348. package/node_modules/os-tmpdir/index.js +0 -25
  349. package/node_modules/os-tmpdir/license +0 -21
  350. package/node_modules/os-tmpdir/package.json +0 -73
  351. package/node_modules/os-tmpdir/readme.md +0 -32
  352. package/node_modules/osenv/LICENSE +0 -15
  353. package/node_modules/osenv/README.md +0 -63
  354. package/node_modules/osenv/osenv.js +0 -72
  355. package/node_modules/osenv/package.json +0 -73
  356. package/node_modules/path-is-absolute/index.js +0 -20
  357. package/node_modules/path-is-absolute/license +0 -21
  358. package/node_modules/path-is-absolute/package.json +0 -75
  359. package/node_modules/path-is-absolute/readme.md +0 -59
  360. package/node_modules/process-nextick-args/index.js +0 -45
  361. package/node_modules/process-nextick-args/license.md +0 -19
  362. package/node_modules/process-nextick-args/package.json +0 -50
  363. package/node_modules/process-nextick-args/readme.md +0 -18
  364. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  365. package/node_modules/rc/LICENSE.BSD +0 -26
  366. package/node_modules/rc/LICENSE.MIT +0 -24
  367. package/node_modules/rc/README.md +0 -227
  368. package/node_modules/rc/browser.js +0 -7
  369. package/node_modules/rc/cli.js +0 -4
  370. package/node_modules/rc/index.js +0 -53
  371. package/node_modules/rc/lib/utils.js +0 -104
  372. package/node_modules/rc/package.json +0 -64
  373. package/node_modules/rc/test/ini.js +0 -16
  374. package/node_modules/rc/test/nested-env-vars.js +0 -50
  375. package/node_modules/rc/test/test.js +0 -59
  376. package/node_modules/readable-stream/.travis.yml +0 -34
  377. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  378. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  379. package/node_modules/readable-stream/LICENSE +0 -47
  380. package/node_modules/readable-stream/README.md +0 -58
  381. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  382. package/node_modules/readable-stream/duplex-browser.js +0 -1
  383. package/node_modules/readable-stream/duplex.js +0 -1
  384. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  385. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  386. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  387. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  388. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  389. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  390. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  391. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  392. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  393. package/node_modules/readable-stream/package.json +0 -81
  394. package/node_modules/readable-stream/passthrough.js +0 -1
  395. package/node_modules/readable-stream/readable-browser.js +0 -7
  396. package/node_modules/readable-stream/readable.js +0 -19
  397. package/node_modules/readable-stream/transform.js +0 -1
  398. package/node_modules/readable-stream/writable-browser.js +0 -1
  399. package/node_modules/readable-stream/writable.js +0 -8
  400. package/node_modules/rimraf/LICENSE +0 -15
  401. package/node_modules/rimraf/README.md +0 -101
  402. package/node_modules/rimraf/bin.js +0 -50
  403. package/node_modules/rimraf/package.json +0 -67
  404. package/node_modules/rimraf/rimraf.js +0 -372
  405. package/node_modules/safe-buffer/LICENSE +0 -21
  406. package/node_modules/safe-buffer/README.md +0 -584
  407. package/node_modules/safe-buffer/index.d.ts +0 -187
  408. package/node_modules/safe-buffer/index.js +0 -62
  409. package/node_modules/safe-buffer/package.json +0 -65
  410. package/node_modules/safer-buffer/LICENSE +0 -21
  411. package/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  412. package/node_modules/safer-buffer/Readme.md +0 -156
  413. package/node_modules/safer-buffer/dangerous.js +0 -58
  414. package/node_modules/safer-buffer/package.json +0 -60
  415. package/node_modules/safer-buffer/safer.js +0 -77
  416. package/node_modules/safer-buffer/tests.js +0 -406
  417. package/node_modules/sax/LICENSE +0 -41
  418. package/node_modules/sax/README.md +0 -225
  419. package/node_modules/sax/lib/sax.js +0 -1565
  420. package/node_modules/sax/package.json +0 -61
  421. package/node_modules/semver/CHANGELOG.md +0 -39
  422. package/node_modules/semver/LICENSE +0 -15
  423. package/node_modules/semver/README.md +0 -412
  424. package/node_modules/semver/bin/semver +0 -160
  425. package/node_modules/semver/package.json +0 -60
  426. package/node_modules/semver/range.bnf +0 -16
  427. package/node_modules/semver/semver.js +0 -1483
  428. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  429. package/node_modules/set-blocking/LICENSE.txt +0 -14
  430. package/node_modules/set-blocking/README.md +0 -31
  431. package/node_modules/set-blocking/index.js +0 -7
  432. package/node_modules/set-blocking/package.json +0 -70
  433. package/node_modules/signal-exit/CHANGELOG.md +0 -27
  434. package/node_modules/signal-exit/LICENSE.txt +0 -16
  435. package/node_modules/signal-exit/README.md +0 -40
  436. package/node_modules/signal-exit/index.js +0 -157
  437. package/node_modules/signal-exit/package.json +0 -66
  438. package/node_modules/signal-exit/signals.js +0 -53
  439. package/node_modules/string-width/index.js +0 -37
  440. package/node_modules/string-width/license +0 -21
  441. package/node_modules/string-width/package.json +0 -89
  442. package/node_modules/string-width/readme.md +0 -42
  443. package/node_modules/string_decoder/.travis.yml +0 -50
  444. package/node_modules/string_decoder/LICENSE +0 -48
  445. package/node_modules/string_decoder/README.md +0 -47
  446. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  447. package/node_modules/string_decoder/package.json +0 -59
  448. package/node_modules/strip-ansi/index.js +0 -6
  449. package/node_modules/strip-ansi/license +0 -21
  450. package/node_modules/strip-ansi/package.json +0 -102
  451. package/node_modules/strip-ansi/readme.md +0 -33
  452. package/node_modules/strip-json-comments/index.js +0 -70
  453. package/node_modules/strip-json-comments/license +0 -21
  454. package/node_modules/strip-json-comments/package.json +0 -74
  455. package/node_modules/strip-json-comments/readme.md +0 -64
  456. package/node_modules/tar/LICENSE +0 -15
  457. package/node_modules/tar/README.md +0 -954
  458. package/node_modules/tar/index.js +0 -18
  459. package/node_modules/tar/lib/buffer.js +0 -11
  460. package/node_modules/tar/lib/create.js +0 -105
  461. package/node_modules/tar/lib/extract.js +0 -112
  462. package/node_modules/tar/lib/header.js +0 -289
  463. package/node_modules/tar/lib/high-level-opt.js +0 -29
  464. package/node_modules/tar/lib/large-numbers.js +0 -97
  465. package/node_modules/tar/lib/list.js +0 -130
  466. package/node_modules/tar/lib/mkdir.js +0 -206
  467. package/node_modules/tar/lib/mode-fix.js +0 -14
  468. package/node_modules/tar/lib/pack.js +0 -404
  469. package/node_modules/tar/lib/parse.js +0 -428
  470. package/node_modules/tar/lib/pax.js +0 -146
  471. package/node_modules/tar/lib/read-entry.js +0 -98
  472. package/node_modules/tar/lib/replace.js +0 -220
  473. package/node_modules/tar/lib/types.js +0 -44
  474. package/node_modules/tar/lib/unpack.js +0 -621
  475. package/node_modules/tar/lib/update.js +0 -36
  476. package/node_modules/tar/lib/warn-mixin.js +0 -14
  477. package/node_modules/tar/lib/winchars.js +0 -23
  478. package/node_modules/tar/lib/write-entry.js +0 -422
  479. package/node_modules/tar/package.json +0 -82
  480. package/node_modules/util-deprecate/History.md +0 -16
  481. package/node_modules/util-deprecate/LICENSE +0 -24
  482. package/node_modules/util-deprecate/README.md +0 -53
  483. package/node_modules/util-deprecate/browser.js +0 -67
  484. package/node_modules/util-deprecate/node.js +0 -6
  485. package/node_modules/util-deprecate/package.json +0 -56
  486. package/node_modules/wide-align/LICENSE +0 -14
  487. package/node_modules/wide-align/README.md +0 -47
  488. package/node_modules/wide-align/align.js +0 -65
  489. package/node_modules/wide-align/package.json +0 -66
  490. package/node_modules/wrappy/LICENSE +0 -15
  491. package/node_modules/wrappy/README.md +0 -36
  492. package/node_modules/wrappy/package.json +0 -59
  493. package/node_modules/wrappy/wrappy.js +0 -33
  494. package/node_modules/yallist/LICENSE +0 -15
  495. package/node_modules/yallist/README.md +0 -204
  496. package/node_modules/yallist/iterator.js +0 -8
  497. package/node_modules/yallist/package.json +0 -63
  498. package/node_modules/yallist/yallist.js +0 -426
@@ -1,803 +0,0 @@
1
- //////////////////////////////////////////
2
- // Needle -- HTTP Client for Node.js
3
- // Written by Tomás Pollak <tomas@forkhq.com>
4
- // (c) 2012-2017 - Fork Ltd.
5
- // MIT Licensed
6
- //////////////////////////////////////////
7
-
8
- var fs = require('fs'),
9
- http = require('http'),
10
- https = require('https'),
11
- url = require('url'),
12
- stream = require('stream'),
13
- debug = require('debug')('needle'),
14
- stringify = require('./querystring').build,
15
- multipart = require('./multipart'),
16
- auth = require('./auth'),
17
- cookies = require('./cookies'),
18
- parsers = require('./parsers'),
19
- decoder = require('./decoder');
20
-
21
- //////////////////////////////////////////
22
- // variabilia
23
-
24
- var version = require('../package.json').version;
25
-
26
- var user_agent = 'Needle/' + version;
27
- user_agent += ' (Node.js ' + process.version + '; ' + process.platform + ' ' + process.arch + ')';
28
-
29
- var tls_options = 'agent pfx key passphrase cert ca ciphers rejectUnauthorized secureProtocol checkServerIdentity';
30
-
31
- // older versions of node (< 0.11.4) prevent the runtime from exiting
32
- // because of connections in keep-alive state. so if this is the case
33
- // we'll default new requests to set a Connection: close header.
34
- var close_by_default = !http.Agent || http.Agent.defaultMaxSockets != Infinity;
35
-
36
- // see if we have Object.assign. otherwise fall back to util._extend
37
- var extend = Object.assign ? Object.assign : require('util')._extend;
38
-
39
- // these are the status codes that Needle interprets as redirects.
40
- var redirect_codes = [301, 302, 303, 307, 308];
41
-
42
- //////////////////////////////////////////
43
- // decompressors for gzip/deflate/br bodies
44
-
45
- var decompressors = {};
46
- var brotli_supported = false;
47
-
48
- try {
49
-
50
- var zlib = require('zlib');
51
- brotli_supported = typeof zlib.BrotliDecompress === 'function';
52
- decompressors['x-deflate'] = zlib.Inflate;
53
- decompressors['deflate'] = zlib.Inflate;
54
- decompressors['x-gzip'] = zlib.Gunzip;
55
- decompressors['gzip'] = zlib.Gunzip;
56
- if (brotli_supported) {
57
- decompressors['br'] = zlib.BrotliDecompress;
58
- }
59
-
60
- // Enable Z_SYNC_FLUSH to avoid Z_BUF_ERROR errors (Node PR #2595)
61
- var zlib_options = {
62
- flush: zlib.Z_SYNC_FLUSH,
63
- finishFlush: zlib.Z_SYNC_FLUSH
64
- }
65
-
66
- } catch(e) { /* zlib not available */ }
67
-
68
- //////////////////////////////////////////
69
- // options and aliases
70
-
71
- var defaults = {
72
- // data
73
- boundary : '--------------------NODENEEDLEHTTPCLIENT',
74
- encoding : 'utf8',
75
- parse_response : 'all', // same as true. valid options: 'json', 'xml' or false/null
76
- proxy : null,
77
-
78
- // headers
79
- accept : '*/*',
80
- user_agent : user_agent,
81
-
82
- // numbers
83
- open_timeout : 10000,
84
- response_timeout : 0,
85
- read_timeout : 0,
86
- follow_max : 0,
87
- stream_length : -1,
88
-
89
- // booleans
90
- compressed : false,
91
- decode_response : true,
92
- parse_cookies : true,
93
- follow_set_cookies : false,
94
- follow_set_referer : false,
95
- follow_keep_method : false,
96
- follow_if_same_host : false,
97
- follow_if_same_protocol : false
98
- }
99
-
100
- var aliased = {
101
- options: {
102
- decode : 'decode_response',
103
- parse : 'parse_response',
104
- timeout : 'open_timeout',
105
- follow : 'follow_max'
106
- },
107
- inverted: {}
108
- }
109
-
110
- // only once, invert aliased keys so we can get passed options.
111
- Object.keys(aliased.options).map(function(k) {
112
- var value = aliased.options[k];
113
- aliased.inverted[value] = k;
114
- });
115
-
116
- //////////////////////////////////////////
117
- // helpers
118
-
119
- function keys_by_type(type) {
120
- return Object.keys(defaults).map(function(el) {
121
- if (defaults[el] !== null && defaults[el].constructor == type)
122
- return el;
123
- }).filter(function(el) { return el })
124
- }
125
-
126
- function parse_content_type(header) {
127
- if (!header || header === '') return {};
128
-
129
- var found, charset = 'iso-8859-1', arr = header.split(';');
130
-
131
- if (arr.length > 1 && (found = arr[1].match(/charset=(.+)/)))
132
- charset = found[1];
133
-
134
- return { type: arr[0], charset: charset };
135
- }
136
-
137
- function is_stream(obj) {
138
- return typeof obj.pipe === 'function';
139
- }
140
-
141
- function get_stream_length(stream, given_length, cb) {
142
- if (given_length > 0)
143
- return cb(given_length);
144
-
145
- if (stream.end !== void 0 && stream.end !== Infinity && stream.start !== void 0)
146
- return cb((stream.end + 1) - (stream.start || 0));
147
-
148
- fs.stat(stream.path, function(err, stat) {
149
- cb(stat ? stat.size - (stream.start || 0) : null);
150
- });
151
- }
152
-
153
- //////////////////////////////////////////
154
- // the main act
155
-
156
- function Needle(method, uri, data, options, callback) {
157
- // if (!(this instanceof Needle)) {
158
- // return new Needle(method, uri, data, options, callback);
159
- // }
160
-
161
- if (typeof uri !== 'string')
162
- throw new TypeError('URL must be a string, not ' + uri);
163
-
164
- this.method = method;
165
- this.uri = uri;
166
- this.data = data;
167
-
168
- if (typeof options == 'function') {
169
- this.callback = options;
170
- this.options = {};
171
- } else {
172
- this.callback = callback;
173
- this.options = options;
174
- }
175
-
176
- }
177
-
178
- Needle.prototype.setup = function(uri, options) {
179
-
180
- function get_option(key, fallback) {
181
- // if original is in options, return that value
182
- if (typeof options[key] != 'undefined') return options[key];
183
-
184
- // otherwise, return value from alias or fallback/undefined
185
- return typeof options[aliased.inverted[key]] != 'undefined'
186
- ? options[aliased.inverted[key]] : fallback;
187
- }
188
-
189
- function check_value(expected, key) {
190
- var value = get_option(key),
191
- type = typeof value;
192
-
193
- if (type != 'undefined' && type != expected)
194
- throw new TypeError(type + ' received for ' + key + ', but expected a ' + expected);
195
-
196
- return (type == expected) ? value : defaults[key];
197
- }
198
-
199
- //////////////////////////////////////////////////
200
- // the basics
201
-
202
- var config = {
203
- http_opts : {
204
- localAddress: get_option('localAddress', undefined)
205
- }, // passed later to http.request() directly
206
- output : options.output,
207
- proxy : get_option('proxy', defaults.proxy),
208
- parser : get_option('parse_response', defaults.parse_response),
209
- encoding : options.encoding || (options.multipart ? 'binary' : defaults.encoding)
210
- }
211
-
212
- keys_by_type(Boolean).forEach(function(key) {
213
- config[key] = check_value('boolean', key);
214
- })
215
-
216
- keys_by_type(Number).forEach(function(key) {
217
- config[key] = check_value('number', key);
218
- })
219
-
220
- // populate http_opts with given TLS options
221
- tls_options.split(' ').forEach(function(key) {
222
- if (typeof options[key] != 'undefined') {
223
- config.http_opts[key] = options[key];
224
- if (typeof options.agent == 'undefined')
225
- config.http_opts.agent = false; // otherwise tls options are skipped
226
- }
227
- });
228
-
229
- //////////////////////////////////////////////////
230
- // headers, cookies
231
-
232
- config.headers = {
233
- 'accept' : options.accept || defaults.accept,
234
- 'user-agent' : options.user_agent || defaults.user_agent
235
- }
236
-
237
- if (options.content_type)
238
- config.headers['content-type'] = options.content_type;
239
-
240
- // set connection header if opts.connection was passed, or if node < 0.11.4 (close)
241
- if (options.connection || close_by_default)
242
- config.headers['connection'] = options.connection || 'close';
243
-
244
- if ((options.compressed || defaults.compressed) && typeof zlib != 'undefined')
245
- config.headers['accept-encoding'] = brotli_supported ? 'gzip, deflate, br' : 'gzip, deflate';
246
-
247
- if (options.cookies)
248
- config.headers['cookie'] = cookies.write(options.cookies);
249
-
250
- //////////////////////////////////////////////////
251
- // basic/digest auth
252
-
253
- if (uri.match(/[^\/]@/)) { // url contains user:pass@host, so parse it.
254
- var parts = (url.parse(uri).auth || '').split(':');
255
- options.username = parts[0];
256
- options.password = parts[1];
257
- }
258
-
259
- if (options.username) {
260
- if (options.auth && (options.auth == 'auto' || options.auth == 'digest')) {
261
- config.credentials = [options.username, options.password];
262
- } else {
263
- config.headers['authorization'] = auth.basic(options.username, options.password);
264
- }
265
- }
266
-
267
- // if proxy is present, set auth header from either url or proxy_user option.
268
- if (config.proxy) {
269
- if (config.proxy.indexOf('http') === -1)
270
- config.proxy = 'http://' + config.proxy;
271
-
272
- if (config.proxy.indexOf('@') !== -1) {
273
- var proxy = (url.parse(config.proxy).auth || '').split(':');
274
- options.proxy_user = proxy[0];
275
- options.proxy_pass = proxy[1];
276
- }
277
-
278
- if (options.proxy_user)
279
- config.headers['proxy-authorization'] = auth.basic(options.proxy_user, options.proxy_pass);
280
- }
281
-
282
- // now that all our headers are set, overwrite them if instructed.
283
- for (var h in options.headers)
284
- config.headers[h.toLowerCase()] = options.headers[h];
285
-
286
- return config;
287
- }
288
-
289
- Needle.prototype.start = function() {
290
-
291
- var out = new stream.PassThrough({ objectMode: false }),
292
- uri = this.uri,
293
- data = this.data,
294
- method = this.method,
295
- callback = (typeof this.options == 'function') ? this.options : this.callback,
296
- options = this.options || {};
297
-
298
- // if no 'http' is found on URL, prepend it.
299
- if (uri.indexOf('http') === -1)
300
- uri = uri.replace(/^(\/\/)?/, 'http://');
301
-
302
- var self = this, body, waiting = false, config = this.setup(uri, options);
303
-
304
- // unless options.json was set to false, assume boss also wants JSON if content-type matches.
305
- var json = options.json || (options.json !== false && config.headers['content-type'] == 'application/json');
306
-
307
- if (data) {
308
-
309
- if (options.multipart) { // boss says we do multipart. so we do it.
310
- var boundary = options.boundary || defaults.boundary;
311
-
312
- waiting = true;
313
- multipart.build(data, boundary, function(err, parts) {
314
- if (err) throw(err);
315
-
316
- config.headers['content-type'] = 'multipart/form-data; boundary=' + boundary;
317
- next(parts);
318
- });
319
-
320
- } else if (is_stream(data)) {
321
-
322
- if (method.toUpperCase() == 'GET')
323
- throw new Error('Refusing to pipe() a stream via GET. Did you mean .post?');
324
-
325
- if (config.stream_length > 0 || (config.stream_length === 0 && data.path)) {
326
- // ok, let's get the stream's length and set it as the content-length header.
327
- // this prevents some servers from cutting us off before all the data is sent.
328
- waiting = true;
329
- get_stream_length(data, config.stream_length, function(length) {
330
- data.length = length;
331
- next(data);
332
- })
333
-
334
- } else {
335
- // if the boss doesn't want us to get the stream's length, or if it doesn't
336
- // have a file descriptor for that purpose, then just head on.
337
- body = data;
338
- }
339
-
340
- } else if (Buffer.isBuffer(data)) {
341
-
342
- body = data; // use the raw buffer as request body.
343
-
344
- } else if (method.toUpperCase() == 'GET' && !json) {
345
-
346
- // append the data to the URI as a querystring.
347
- uri = uri.replace(/\?.*|$/, '?' + stringify(data));
348
-
349
- } else { // string or object data, no multipart.
350
-
351
- // if string, leave it as it is, otherwise, stringify.
352
- body = (typeof(data) === 'string') ? data
353
- : json ? JSON.stringify(data) : stringify(data);
354
-
355
- // ensure we have a buffer so bytecount is correct.
356
- body = Buffer.from(body, config.encoding);
357
- }
358
-
359
- }
360
-
361
- function next(body) {
362
- if (body) {
363
- if (body.length) config.headers['content-length'] = body.length;
364
-
365
- // if no content-type was passed, determine if json or not.
366
- if (!config.headers['content-type']) {
367
- config.headers['content-type'] = json
368
- ? 'application/json; charset=utf-8'
369
- : 'application/x-www-form-urlencoded'; // no charset says W3 spec.
370
- }
371
- }
372
-
373
- // unless a specific accept header was set, assume json: true wants JSON back.
374
- if (options.json && (!options.accept && !(options.headers || {}).accept))
375
- config.headers['accept'] = 'application/json';
376
-
377
- self.send_request(1, method, uri, config, body, out, callback);
378
- }
379
-
380
- if (!waiting) next(body);
381
- return out;
382
- }
383
-
384
- Needle.prototype.get_request_opts = function(method, uri, config) {
385
- var opts = config.http_opts,
386
- proxy = config.proxy,
387
- remote = proxy ? url.parse(proxy) : url.parse(uri);
388
-
389
- opts.protocol = remote.protocol;
390
- opts.host = remote.hostname;
391
- opts.port = remote.port || (remote.protocol == 'https:' ? 443 : 80);
392
- opts.path = proxy ? uri : remote.pathname + (remote.search || '');
393
- opts.method = method;
394
- opts.headers = config.headers;
395
-
396
- if (!opts.headers['host']) {
397
- // if using proxy, make sure the host header shows the final destination
398
- var target = proxy ? url.parse(uri) : remote;
399
- opts.headers['host'] = target.hostname;
400
-
401
- // and if a non standard port was passed, append it to the port header
402
- if (target.port && [80, 443].indexOf(target.port) === -1) {
403
- opts.headers['host'] += ':' + target.port;
404
- }
405
- }
406
-
407
- return opts;
408
- }
409
-
410
- Needle.prototype.should_follow = function(location, config, original) {
411
- if (!location) return false;
412
-
413
- // returns true if location contains matching property (host or protocol)
414
- function matches(property) {
415
- var property = original[property];
416
- return location.indexOf(property) !== -1;
417
- }
418
-
419
- // first, check whether the requested location is actually different from the original
420
- if (location === original)
421
- return false;
422
-
423
- if (config.follow_if_same_host && !matches('host'))
424
- return false; // host does not match, so not following
425
-
426
- if (config.follow_if_same_protocol && !matches('protocol'))
427
- return false; // procotol does not match, so not following
428
-
429
- return true;
430
- }
431
-
432
- Needle.prototype.send_request = function(count, method, uri, config, post_data, out, callback) {
433
-
434
- var timer,
435
- returned = 0,
436
- self = this,
437
- request_opts = this.get_request_opts(method, uri, config),
438
- protocol = request_opts.protocol == 'https:' ? https : http;
439
-
440
- function done(err, resp) {
441
- if (returned++ > 0)
442
- return debug('Already finished, stopping here.');
443
-
444
- if (timer) clearTimeout(timer);
445
- request.removeListener('error', had_error);
446
-
447
- if (callback)
448
- return callback(err, resp, resp ? resp.body : undefined);
449
-
450
- // NOTE: this event used to be called 'end', but the behaviour was confusing
451
- // when errors ocurred, because the stream would still emit an 'end' event.
452
- out.emit('done', err);
453
- }
454
-
455
- function had_error(err) {
456
- debug('Request error', err);
457
- out.emit('err', err);
458
- done(err || new Error('Unknown error when making request.'));
459
- }
460
-
461
- function set_timeout(type, milisecs) {
462
- if (timer) clearTimeout(timer);
463
- if (milisecs <= 0) return;
464
-
465
- timer = setTimeout(function() {
466
- out.emit('timeout', type);
467
- request.abort();
468
- // also invoke done() to terminate job on read_timeout
469
- if (type == 'read') done(new Error(type + ' timeout'));
470
- }, milisecs);
471
- }
472
-
473
- // handle errors on the underlying socket, that may be closed while writing
474
- // for an example case, see test/long_string_spec.js. we make sure this
475
- // scenario ocurred by verifying the socket's writable & destroyed states.
476
- function on_socket_end() {
477
- if (!this.writable && this.destroyed === false) {
478
- this.destroy();
479
- had_error(new Error('Remote end closed socket abruptly.'))
480
- }
481
- }
482
-
483
- debug('Making request #' + count, request_opts);
484
- var request = protocol.request(request_opts, function(resp) {
485
-
486
- var headers = resp.headers;
487
- debug('Got response', resp.statusCode, headers);
488
- out.emit('response', resp);
489
-
490
- set_timeout('read', config.read_timeout);
491
-
492
- // if we got cookies, parse them unless we were instructed not to. make sure to include any
493
- // cookies that might have been set on previous redirects.
494
- if (config.parse_cookies && (headers['set-cookie'] || config.stored_cookies)) {
495
- resp.cookies = extend(config.stored_cookies || {}, cookies.read(headers['set-cookie']));
496
- debug('Got cookies', resp.cookies);
497
- }
498
-
499
- // if redirect code is found, determine if we should follow it according to the given options.
500
- if (redirect_codes.indexOf(resp.statusCode) !== -1 && self.should_follow(headers.location, config, uri)) {
501
- // clear timer before following redirects to prevent unexpected setTimeout consequence
502
- clearTimeout(timer);
503
-
504
- if (count <= config.follow_max) {
505
- out.emit('redirect', headers.location);
506
-
507
- // unless 'follow_keep_method' is true, rewrite the request to GET before continuing.
508
- if (!config.follow_keep_method) {
509
- method = 'GET';
510
- post_data = null;
511
- delete config.headers['content-length']; // in case the original was a multipart POST request.
512
- }
513
-
514
- // if follow_set_cookies is true, make sure to put any cookies in the next request's headers.
515
- if (config.follow_set_cookies && resp.cookies) {
516
- config.stored_cookies = resp.cookies;
517
- config.headers['cookie'] = cookies.write(resp.cookies);
518
- }
519
-
520
- if (config.follow_set_referer)
521
- config.headers['referer'] = encodeURI(uri); // the original, not the destination URL.
522
-
523
- config.headers['host'] = null; // clear previous Host header to avoid conflicts.
524
-
525
- debug('Redirecting to ' + url.resolve(uri, headers.location));
526
- return self.send_request(++count, method, url.resolve(uri, headers.location), config, post_data, out, callback);
527
- } else if (config.follow_max > 0) {
528
- return done(new Error('Max redirects reached. Possible loop in: ' + headers.location));
529
- }
530
- }
531
-
532
- // if auth is requested and credentials were not passed, resend request, provided we have user/pass.
533
- if (resp.statusCode == 401 && headers['www-authenticate'] && config.credentials) {
534
- if (!config.headers['authorization']) { // only if authentication hasn't been sent
535
- var auth_header = auth.header(headers['www-authenticate'], config.credentials, request_opts);
536
-
537
- if (auth_header) {
538
- config.headers['authorization'] = auth_header;
539
- return self.send_request(count, method, uri, config, post_data, out, callback);
540
- }
541
- }
542
- }
543
-
544
- // ok, so we got a valid (non-redirect & authorized) response. let's notify the stream guys.
545
- out.emit('header', resp.statusCode, headers);
546
- out.emit('headers', headers);
547
-
548
- var pipeline = [],
549
- mime = parse_content_type(headers['content-type']),
550
- text_response = mime.type && mime.type.indexOf('text/') != -1;
551
-
552
- // To start, if our body is compressed and we're able to inflate it, do it.
553
- if (headers['content-encoding'] && decompressors[headers['content-encoding']]) {
554
-
555
- var decompressor = decompressors[headers['content-encoding']](zlib_options);
556
-
557
- // make sure we catch errors triggered by the decompressor.
558
- decompressor.on('error', had_error);
559
- pipeline.push(decompressor);
560
- }
561
-
562
- // If parse is enabled and we have a parser for it, then go for it.
563
- if (config.parser && parsers[mime.type]) {
564
-
565
- // If a specific parser was requested, make sure we don't parse other types.
566
- var parser_name = config.parser.toString().toLowerCase();
567
- if (['xml', 'json'].indexOf(parser_name) == -1 || parsers[mime.type].name == parser_name) {
568
-
569
- // OK, so either we're parsing all content types or the one requested matches.
570
- out.parser = parsers[mime.type].name;
571
- pipeline.push(parsers[mime.type].fn());
572
-
573
- // Set objectMode on out stream to improve performance.
574
- out._writableState.objectMode = true;
575
- out._readableState.objectMode = true;
576
- }
577
-
578
- // If we're not parsing, and unless decoding was disabled, we'll try
579
- // decoding non UTF-8 bodies to UTF-8, using the iconv-lite library.
580
- } else if (text_response && config.decode_response
581
- && mime.charset && !mime.charset.match(/utf-?8$/i)) {
582
- pipeline.push(decoder(mime.charset));
583
- }
584
-
585
- // And `out` is the stream we finally push the decoded/parsed output to.
586
- pipeline.push(out);
587
-
588
- // Now, release the kraken!
589
- var tmp = resp;
590
- while (pipeline.length) {
591
- tmp = tmp.pipe(pipeline.shift());
592
- }
593
-
594
- // If the user has requested and output file, pipe the output stream to it.
595
- // In stream mode, we will still get the response stream to play with.
596
- if (config.output && resp.statusCode == 200) {
597
-
598
- // for some reason, simply piping resp to the writable stream doesn't
599
- // work all the time (stream gets cut in the middle with no warning).
600
- // so we'll manually need to do the readable/write(chunk) trick.
601
- var file = fs.createWriteStream(config.output);
602
- file.on('error', had_error);
603
-
604
- out.on('end', function() {
605
- if (file.writable) file.end();
606
- });
607
-
608
- file.on('close', function() {
609
- delete out.file;
610
- })
611
-
612
- out.on('readable', function() {
613
- var chunk;
614
- while ((chunk = this.read()) !== null) {
615
- if (file.writable) file.write(chunk);
616
-
617
- // if callback was requested, also push it to resp.body
618
- if (resp.body) resp.body.push(chunk);
619
- }
620
- })
621
-
622
- out.file = file;
623
- }
624
-
625
- // Only aggregate the full body if a callback was requested.
626
- if (callback) {
627
- resp.raw = [];
628
- resp.body = [];
629
- resp.bytes = 0;
630
-
631
- // Gather and count the amount of (raw) bytes using a PassThrough stream.
632
- var clean_pipe = new stream.PassThrough();
633
- resp.pipe(clean_pipe);
634
-
635
- clean_pipe.on('readable', function() {
636
- var chunk;
637
- while ((chunk = this.read()) != null) {
638
- resp.bytes += chunk.length;
639
- resp.raw.push(chunk);
640
- }
641
- })
642
-
643
- // Listen on the 'readable' event to aggregate the chunks, but only if
644
- // file output wasn't requested. Otherwise we'd have two stream readers.
645
- if (!config.output || resp.statusCode != 200) {
646
- out.on('readable', function() {
647
- var chunk;
648
- while ((chunk = this.read()) !== null) {
649
- // We're either pushing buffers or objects, never strings.
650
- if (typeof chunk == 'string') chunk = Buffer.from(chunk);
651
-
652
- // Push all chunks to resp.body. We'll bind them in resp.end().
653
- resp.body.push(chunk);
654
- }
655
- })
656
- }
657
- }
658
-
659
- // And set the .body property once all data is in.
660
- out.on('end', function() {
661
- if (resp.body) { // callback mode
662
-
663
- // we want to be able to access to the raw data later, so keep a reference.
664
- resp.raw = Buffer.concat(resp.raw);
665
-
666
- // if parse was successful, we should have an array with one object
667
- if (resp.body[0] !== undefined && !Buffer.isBuffer(resp.body[0])) {
668
-
669
- // that's our body right there.
670
- resp.body = resp.body[0];
671
-
672
- // set the parser property on our response. we may want to check.
673
- if (out.parser) resp.parser = out.parser;
674
-
675
- } else { // we got one or several buffers. string or binary.
676
- resp.body = Buffer.concat(resp.body);
677
-
678
- // if we're here and parsed is true, it means we tried to but it didn't work.
679
- // so given that we got a text response, let's stringify it.
680
- if (text_response || out.parser) {
681
- resp.body = resp.body.toString();
682
- }
683
- }
684
- }
685
-
686
- // if an output file is being written to, make sure the callback
687
- // is triggered after all data has been written to it.
688
- if (out.file) {
689
- out.file.on('close', function() {
690
- done(null, resp, resp.body);
691
- })
692
- } else { // elvis has left the building.
693
- done(null, resp, resp.body);
694
- }
695
-
696
- });
697
-
698
- }); // end request call
699
-
700
- // unless open_timeout was disabled, set a timeout to abort the request.
701
- set_timeout('open', config.open_timeout);
702
-
703
- // handle errors on the request object. things might get bumpy.
704
- request.on('error', had_error);
705
-
706
- // make sure timer is cleared if request is aborted (issue #257)
707
- request.once('abort', function() {
708
- if (timer) clearTimeout(timer);
709
- })
710
-
711
- // handle socket 'end' event to ensure we don't get delayed EPIPE errors.
712
- request.once('socket', function(socket) {
713
- if (socket.connecting) {
714
- socket.once('connect', function() {
715
- set_timeout('response', config.response_timeout);
716
- })
717
- } else {
718
- set_timeout('response', config.response_timeout);
719
- }
720
-
721
- // console.log(socket);
722
- if (!socket.on_socket_end) {
723
- socket.on_socket_end = on_socket_end;
724
- socket.once('end', function() { process.nextTick(on_socket_end.bind(socket)) });
725
- }
726
- })
727
-
728
- if (post_data) {
729
- if (is_stream(post_data)) {
730
- post_data.pipe(request);
731
- } else {
732
- request.write(post_data, config.encoding);
733
- request.end();
734
- }
735
- } else {
736
- request.end();
737
- }
738
-
739
- out.request = request;
740
- return out;
741
- }
742
-
743
- //////////////////////////////////////////
744
- // exports
745
-
746
- if (typeof Promise !== 'undefined') {
747
- module.exports = function() {
748
- var verb, args = [].slice.call(arguments);
749
-
750
- if (args[0].match(/\.|\//)) // first argument looks like a URL
751
- verb = (args.length > 2) ? 'post' : 'get';
752
- else
753
- verb = args.shift();
754
-
755
- if (verb.match(/get|head/) && args.length == 2)
756
- args.splice(1, 0, null); // assume no data if head/get with two args (url, options)
757
-
758
- return new Promise(function(resolve, reject) {
759
- module.exports.request(verb, args[0], args[1], args[2], function(err, resp) {
760
- return err ? reject(err) : resolve(resp);
761
- });
762
- })
763
- }
764
- }
765
-
766
- module.exports.version = version;
767
-
768
- module.exports.defaults = function(obj) {
769
- for (var key in obj) {
770
- var target_key = aliased.options[key] || key;
771
-
772
- if (defaults.hasOwnProperty(target_key) && typeof obj[key] != 'undefined') {
773
- if (target_key != 'parse_response' && target_key != 'proxy') {
774
- // ensure type matches the original, except for proxy/parse_response that can be null/bool or string
775
- var valid_type = defaults[target_key].constructor.name;
776
-
777
- if (obj[key].constructor.name != valid_type)
778
- throw new TypeError('Invalid type for ' + key + ', should be ' + valid_type);
779
- }
780
- defaults[target_key] = obj[key];
781
- } else {
782
- throw new Error('Invalid property for defaults:' + target_key);
783
- }
784
- }
785
-
786
- return defaults;
787
- }
788
-
789
- 'head get'.split(' ').forEach(function(method) {
790
- module.exports[method] = function(uri, options, callback) {
791
- return new Needle(method, uri, null, options, callback).start();
792
- }
793
- })
794
-
795
- 'post put patch delete'.split(' ').forEach(function(method) {
796
- module.exports[method] = function(uri, data, options, callback) {
797
- return new Needle(method, uri, data, options, callback).start();
798
- }
799
- })
800
-
801
- module.exports.request = function(method, uri, data, opts, callback) {
802
- return new Needle(method, uri, data, opts, callback).start();
803
- };