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