fsevents 1.2.4 → 1.2.6

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.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

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