fsevents 1.1.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (1029) hide show
  1. package/.travis.yml +8 -10
  2. package/build/.target.mk +6 -2
  3. package/build/Makefile +6 -6
  4. package/build/Release/.deps/Release/.node.d +1 -0
  5. package/build/Release/.deps/Release/fse.node.d +1 -0
  6. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +1 -0
  7. package/build/Release/.deps/Release/obj.target/fse/fsevents.o.d +65 -0
  8. package/build/Release/.deps/Users/eshanker/Code/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node.d +1 -0
  9. package/{node_modules/tar-pack/test/fixtures/packed.tar → build/Release/.node} +0 -0
  10. package/build/Release/fse.node +0 -0
  11. package/{node_modules/hoek/test/modules/ignore.txt → build/Release/obj.target/action_after_build.stamp} +0 -0
  12. package/build/Release/obj.target/fse/fsevents.o +0 -0
  13. package/build/action_after_build.target.mk +4 -4
  14. package/build/fse.target.mk +22 -12
  15. package/build/gyp-mac-tool +1 -2
  16. package/build/stage/v1.1.2/fse-v1.1.2-node-v48-darwin-x64.tar.gz +0 -0
  17. package/fsevents.cc +3 -1
  18. package/install.js +2 -2
  19. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  20. package/lib/binding/Release/node-v57-darwin-x64/fse.node +0 -0
  21. package/node_modules/abbrev/LICENSE +31 -0
  22. package/node_modules/abbrev/package.json +14 -50
  23. package/node_modules/ansi-regex/package.json +21 -45
  24. package/node_modules/aproba/README.md +16 -11
  25. package/node_modules/aproba/index.js +11 -9
  26. package/node_modules/aproba/package.json +16 -50
  27. package/node_modules/are-we-there-yet/CHANGES.md +12 -0
  28. package/node_modules/are-we-there-yet/CHANGES.md~ +27 -0
  29. package/node_modules/are-we-there-yet/README.md +4 -3
  30. package/node_modules/are-we-there-yet/package.json +24 -51
  31. package/node_modules/balanced-match/index.js +1 -0
  32. package/node_modules/balanced-match/package.json +19 -52
  33. package/node_modules/{ecc-jsbn → brace-expansion}/LICENSE +3 -3
  34. package/node_modules/brace-expansion/README.md +8 -1
  35. package/node_modules/brace-expansion/index.js +1 -1
  36. package/node_modules/brace-expansion/package.json +20 -57
  37. package/node_modules/{block-stream → chownr}/LICENSE +0 -0
  38. package/node_modules/chownr/README.md +3 -0
  39. package/node_modules/chownr/chownr.js +52 -0
  40. package/node_modules/chownr/package.json +56 -0
  41. package/node_modules/code-point-at/package.json +10 -46
  42. package/node_modules/concat-map/package.json +10 -39
  43. package/node_modules/console-control-strings/package.json +10 -45
  44. package/node_modules/core-util-is/package.json +11 -44
  45. package/node_modules/debug/.coveralls.yml +1 -0
  46. package/node_modules/debug/.eslintrc +11 -0
  47. package/node_modules/debug/.npmignore +3 -0
  48. package/node_modules/debug/.travis.yml +14 -0
  49. package/node_modules/debug/CHANGELOG.md +362 -0
  50. package/node_modules/debug/LICENSE +19 -0
  51. package/node_modules/debug/Makefile +28 -14
  52. package/node_modules/debug/README.md +312 -0
  53. package/node_modules/debug/component.json +4 -4
  54. package/node_modules/debug/karma.conf.js +70 -0
  55. package/node_modules/debug/node.js +1 -209
  56. package/node_modules/debug/package.json +42 -60
  57. package/node_modules/debug/{browser.js → src/browser.js} +29 -12
  58. package/node_modules/debug/{debug.js → src/debug.js} +42 -37
  59. package/node_modules/debug/src/index.js +10 -0
  60. package/node_modules/debug/src/inspector-log.js +15 -0
  61. package/node_modules/debug/src/node.js +248 -0
  62. package/node_modules/deep-extend/README.md +1 -1
  63. package/node_modules/deep-extend/lib/deep-extend.js +2 -2
  64. package/node_modules/deep-extend/package.json +18 -45
  65. package/node_modules/delegates/package.json +10 -46
  66. package/node_modules/detect-libc/.npmignore +7 -0
  67. package/node_modules/detect-libc/LICENSE +201 -0
  68. package/node_modules/detect-libc/README.md +78 -0
  69. package/node_modules/detect-libc/bin/detect-libc.js +18 -0
  70. package/node_modules/detect-libc/lib/detect-libc.js +92 -0
  71. package/node_modules/detect-libc/package.json +70 -0
  72. package/node_modules/{fstream-ignore → fs-minipass}/LICENSE +0 -0
  73. package/node_modules/fs-minipass/README.md +70 -0
  74. package/node_modules/fs-minipass/index.js +386 -0
  75. package/node_modules/fs-minipass/package.json +62 -0
  76. package/node_modules/fs.realpath/package.json +10 -45
  77. package/node_modules/gauge/CHANGELOG.md +5 -0
  78. package/node_modules/gauge/package.json +17 -52
  79. package/node_modules/gauge/plumbing.js +1 -0
  80. package/node_modules/glob/glob.js +0 -2
  81. package/node_modules/glob/package.json +15 -50
  82. package/node_modules/has-unicode/package.json +10 -46
  83. package/node_modules/iconv-lite/.travis.yml +23 -0
  84. package/node_modules/iconv-lite/Changelog.md +146 -0
  85. package/node_modules/{punycode/LICENSE-MIT.txt → iconv-lite/LICENSE} +2 -1
  86. package/node_modules/iconv-lite/README.md +156 -0
  87. package/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  88. package/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  89. package/node_modules/iconv-lite/encodings/index.js +22 -0
  90. package/node_modules/iconv-lite/encodings/internal.js +188 -0
  91. package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  92. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  93. package/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  94. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  95. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  96. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  97. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  98. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  99. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  100. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  101. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  102. package/node_modules/iconv-lite/encodings/utf16.js +177 -0
  103. package/node_modules/iconv-lite/encodings/utf7.js +290 -0
  104. package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  105. package/node_modules/iconv-lite/lib/extend-node.js +217 -0
  106. package/node_modules/iconv-lite/lib/index.d.ts +24 -0
  107. package/node_modules/iconv-lite/lib/index.js +153 -0
  108. package/node_modules/iconv-lite/lib/streams.js +121 -0
  109. package/node_modules/iconv-lite/package.json +76 -0
  110. package/node_modules/{fstream → ignore-walk}/LICENSE +0 -0
  111. package/node_modules/ignore-walk/README.md +60 -0
  112. package/node_modules/ignore-walk/index.js +265 -0
  113. package/node_modules/ignore-walk/package.json +71 -0
  114. package/node_modules/inflight/package.json +10 -57
  115. package/node_modules/inherits/package.json +14 -55
  116. package/node_modules/ini/ini.js +66 -62
  117. package/node_modules/ini/package.json +21 -47
  118. package/node_modules/is-fullwidth-code-point/package.json +11 -42
  119. package/node_modules/isarray/package.json +11 -43
  120. package/node_modules/minimatch/package.json +26 -60
  121. package/node_modules/minimist/package.json +9 -39
  122. package/node_modules/minipass/README.md +46 -0
  123. package/node_modules/minipass/index.js +304 -0
  124. package/node_modules/minipass/package.json +69 -0
  125. package/node_modules/minizlib/LICENSE +26 -0
  126. package/node_modules/minizlib/README.md +44 -0
  127. package/node_modules/minizlib/constants.js +46 -0
  128. package/node_modules/minizlib/index.js +364 -0
  129. package/node_modules/minizlib/package.json +71 -0
  130. package/node_modules/mkdirp/package.json +15 -46
  131. package/node_modules/ms/index.js +50 -23
  132. package/node_modules/{graceful-readlink/LICENSE → ms/license.md} +1 -2
  133. package/node_modules/ms/package.json +48 -61
  134. package/node_modules/ms/readme.md +51 -0
  135. package/node_modules/needle/README.md +593 -0
  136. package/node_modules/needle/bin/needle +40 -0
  137. package/node_modules/needle/examples/deflated-stream.js +22 -0
  138. package/node_modules/needle/examples/digest-auth.js +16 -0
  139. package/node_modules/needle/examples/download-to-file.js +18 -0
  140. package/node_modules/needle/examples/multipart-stream.js +25 -0
  141. package/node_modules/needle/examples/parsed-stream.js +23 -0
  142. package/node_modules/needle/examples/parsed-stream2.js +21 -0
  143. package/node_modules/needle/examples/stream-events.js +23 -0
  144. package/node_modules/needle/examples/stream-to-file.js +14 -0
  145. package/node_modules/needle/examples/upload-image.js +51 -0
  146. package/node_modules/needle/lib/auth.js +110 -0
  147. package/node_modules/needle/lib/cookies.js +77 -0
  148. package/node_modules/needle/lib/decoder.js +53 -0
  149. package/node_modules/needle/lib/multipart.js +98 -0
  150. package/node_modules/needle/lib/needle.js +783 -0
  151. package/node_modules/needle/lib/parsers.js +120 -0
  152. package/node_modules/needle/lib/querystring.js +49 -0
  153. package/node_modules/{xtend/LICENCE → needle/license.txt} +2 -2
  154. package/node_modules/needle/package.json +102 -0
  155. package/node_modules/needle/test/basic_auth_spec.js +196 -0
  156. package/node_modules/needle/test/compression_spec.js +94 -0
  157. package/node_modules/needle/test/cookies_spec.js +305 -0
  158. package/node_modules/needle/test/decoder_spec.js +86 -0
  159. package/node_modules/needle/test/errors_spec.js +286 -0
  160. package/node_modules/needle/test/headers_spec.js +198 -0
  161. package/node_modules/needle/test/helpers.js +72 -0
  162. package/node_modules/needle/test/long_string_spec.js +34 -0
  163. package/node_modules/needle/test/output_spec.js +254 -0
  164. package/node_modules/needle/test/parsing_spec.js +494 -0
  165. package/node_modules/needle/test/post_data_spec.js +1021 -0
  166. package/node_modules/needle/test/proxy_spec.js +202 -0
  167. package/node_modules/needle/test/querystring_spec.js +128 -0
  168. package/node_modules/needle/test/redirect_spec.js +392 -0
  169. package/node_modules/needle/test/redirect_with_timeout.js +45 -0
  170. package/node_modules/needle/test/request_stream_spec.js +202 -0
  171. package/node_modules/needle/test/response_stream_spec.js +139 -0
  172. package/node_modules/needle/test/socket_pool_spec.js +66 -0
  173. package/node_modules/needle/test/url_spec.js +147 -0
  174. package/node_modules/needle/test/utils/formidable.js +17 -0
  175. package/node_modules/needle/test/utils/proxy.js +62 -0
  176. package/node_modules/needle/test/utils/test.js +104 -0
  177. package/node_modules/node-pre-gyp/CHANGELOG.md +58 -0
  178. package/node_modules/node-pre-gyp/README.md +96 -9
  179. package/node_modules/node-pre-gyp/appveyor.yml +9 -12
  180. package/node_modules/node-pre-gyp/bin/node-pre-gyp +5 -2
  181. package/node_modules/node-pre-gyp/contributing.md +10 -0
  182. package/node_modules/node-pre-gyp/lib/build.js +8 -0
  183. package/node_modules/node-pre-gyp/lib/clean.js +17 -8
  184. package/node_modules/node-pre-gyp/lib/configure.js +4 -0
  185. package/node_modules/node-pre-gyp/lib/install.js +61 -79
  186. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +9 -0
  187. package/node_modules/node-pre-gyp/lib/package.js +20 -13
  188. package/node_modules/node-pre-gyp/lib/pre-binding.js +6 -1
  189. package/node_modules/node-pre-gyp/lib/publish.js +3 -1
  190. package/node_modules/node-pre-gyp/lib/rebuild.js +12 -4
  191. package/node_modules/node-pre-gyp/lib/reinstall.js +8 -1
  192. package/node_modules/node-pre-gyp/lib/reveal.js +4 -2
  193. package/node_modules/node-pre-gyp/lib/testbinary.js +11 -3
  194. package/node_modules/node-pre-gyp/lib/testpackage.js +22 -16
  195. package/node_modules/node-pre-gyp/lib/unpublish.js +3 -1
  196. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +268 -0
  197. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +8 -2
  198. package/node_modules/node-pre-gyp/lib/util/napi.js +156 -0
  199. package/node_modules/node-pre-gyp/lib/util/versioning.js +24 -2
  200. package/node_modules/node-pre-gyp/package.json +36 -82
  201. package/node_modules/nopt/.travis.yml +3 -4
  202. package/node_modules/nopt/CHANGELOG.md +58 -0
  203. package/node_modules/nopt/README.md +28 -26
  204. package/node_modules/nopt/lib/nopt.js +50 -29
  205. package/node_modules/nopt/package.json +20 -58
  206. package/node_modules/nopt/test/basic.js +36 -6
  207. package/node_modules/npm-bundled/README.md +46 -0
  208. package/node_modules/npm-bundled/index.js +227 -0
  209. package/node_modules/npm-bundled/package.json +60 -0
  210. package/node_modules/{json-stringify-safe → npm-packlist}/LICENSE +0 -0
  211. package/node_modules/npm-packlist/README.md +68 -0
  212. package/node_modules/npm-packlist/index.js +220 -0
  213. package/node_modules/npm-packlist/package.json +66 -0
  214. package/node_modules/npmlog/CHANGELOG.md +5 -1
  215. package/node_modules/npmlog/log.js +8 -1
  216. package/node_modules/npmlog/package.json +19 -66
  217. package/node_modules/number-is-nan/package.json +10 -46
  218. package/node_modules/object-assign/package.json +10 -54
  219. package/node_modules/once/package.json +10 -44
  220. package/node_modules/os-homedir/index.js +24 -0
  221. package/node_modules/{ansi-styles → os-homedir}/license +0 -0
  222. package/node_modules/os-homedir/package.json +73 -0
  223. package/node_modules/os-homedir/readme.md +31 -0
  224. package/node_modules/os-tmpdir/index.js +25 -0
  225. package/node_modules/{chalk → os-tmpdir}/license +0 -0
  226. package/node_modules/os-tmpdir/package.json +73 -0
  227. package/node_modules/os-tmpdir/readme.md +32 -0
  228. package/node_modules/{tar-pack/node_modules/once → osenv}/LICENSE +0 -0
  229. package/node_modules/osenv/README.md +63 -0
  230. package/node_modules/osenv/osenv.js +72 -0
  231. package/node_modules/osenv/package.json +73 -0
  232. package/node_modules/path-is-absolute/package.json +10 -46
  233. package/node_modules/process-nextick-args/index.js +3 -2
  234. package/node_modules/process-nextick-args/package.json +21 -55
  235. package/node_modules/process-nextick-args/readme.md +2 -2
  236. package/node_modules/rc/README.md +80 -2
  237. package/node_modules/rc/cli.js +4 -0
  238. package/node_modules/rc/index.js +0 -7
  239. package/node_modules/rc/lib/utils.js +2 -1
  240. package/node_modules/rc/node_modules/minimist/package.json +10 -42
  241. package/node_modules/rc/package.json +19 -55
  242. package/node_modules/rc/test/nested-env-vars.js +31 -21
  243. package/node_modules/readable-stream/.travis.yml +28 -22
  244. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  245. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  246. package/node_modules/readable-stream/LICENSE +29 -0
  247. package/node_modules/readable-stream/README.md +22 -4
  248. package/node_modules/readable-stream/duplex-browser.js +1 -0
  249. package/node_modules/readable-stream/duplex.js +1 -1
  250. package/node_modules/readable-stream/lib/_stream_duplex.js +69 -13
  251. package/node_modules/readable-stream/lib/_stream_passthrough.js +21 -0
  252. package/node_modules/readable-stream/lib/_stream_readable.js +199 -121
  253. package/node_modules/readable-stream/lib/_stream_transform.js +64 -32
  254. package/node_modules/readable-stream/lib/_stream_writable.js +212 -79
  255. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +68 -53
  256. package/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  257. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  258. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  259. package/node_modules/readable-stream/package.json +32 -77
  260. package/node_modules/readable-stream/passthrough.js +1 -1
  261. package/node_modules/{tar-pack/node_modules/readable-stream/readable.js → readable-stream/readable-browser.js} +1 -10
  262. package/node_modules/readable-stream/readable.js +17 -14
  263. package/node_modules/readable-stream/transform.js +1 -1
  264. package/node_modules/readable-stream/writable-browser.js +1 -0
  265. package/node_modules/readable-stream/writable.js +8 -1
  266. package/node_modules/rimraf/bin.js +13 -3
  267. package/node_modules/rimraf/package.json +19 -56
  268. package/node_modules/rimraf/rimraf.js +25 -4
  269. package/node_modules/safe-buffer/.travis.yml +7 -0
  270. package/node_modules/{is-property → safe-buffer}/LICENSE +1 -2
  271. package/node_modules/safe-buffer/README.md +584 -0
  272. package/node_modules/safe-buffer/index.js +62 -0
  273. package/node_modules/safe-buffer/package.json +65 -0
  274. package/node_modules/safe-buffer/test.js +101 -0
  275. package/node_modules/{asynckit → safer-buffer}/LICENSE +2 -2
  276. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  277. package/node_modules/safer-buffer/Readme.md +156 -0
  278. package/node_modules/safer-buffer/dangerous.js +58 -0
  279. package/node_modules/safer-buffer/package.json +60 -0
  280. package/node_modules/safer-buffer/safer.js +77 -0
  281. package/node_modules/safer-buffer/tests.js +406 -0
  282. package/node_modules/sax/LICENSE +41 -0
  283. package/node_modules/sax/README.md +225 -0
  284. package/node_modules/sax/lib/sax.js +1565 -0
  285. package/node_modules/sax/package.json +61 -0
  286. package/node_modules/semver/README.md +75 -37
  287. package/node_modules/semver/bin/semver +12 -2
  288. package/node_modules/semver/package.json +19 -59
  289. package/node_modules/semver/range.bnf +2 -2
  290. package/node_modules/semver/semver.js +134 -13
  291. package/node_modules/set-blocking/package.json +10 -46
  292. package/node_modules/signal-exit/package.json +10 -50
  293. package/node_modules/string-width/package.json +10 -45
  294. package/node_modules/string_decoder/.travis.yml +50 -0
  295. package/node_modules/string_decoder/LICENSE +48 -20
  296. package/node_modules/string_decoder/README.md +44 -4
  297. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  298. package/node_modules/string_decoder/package.json +30 -59
  299. package/node_modules/strip-ansi/package.json +22 -45
  300. package/node_modules/strip-json-comments/package.json +10 -46
  301. package/node_modules/tar/LICENSE +3 -0
  302. package/node_modules/tar/README.md +929 -30
  303. package/node_modules/tar/index.js +18 -0
  304. package/node_modules/tar/lib/buffer.js +11 -0
  305. package/node_modules/tar/lib/create.js +105 -0
  306. package/node_modules/tar/lib/extract.js +97 -79
  307. package/node_modules/tar/lib/header.js +236 -348
  308. package/node_modules/tar/lib/high-level-opt.js +29 -0
  309. package/node_modules/tar/lib/large-numbers.js +92 -0
  310. package/node_modules/tar/lib/list.js +130 -0
  311. package/node_modules/tar/lib/mkdir.js +206 -0
  312. package/node_modules/tar/lib/pack.js +354 -187
  313. package/node_modules/tar/lib/parse.js +393 -246
  314. package/node_modules/tar/lib/pax.js +146 -0
  315. package/node_modules/tar/lib/read-entry.js +94 -0
  316. package/node_modules/tar/lib/replace.js +220 -0
  317. package/node_modules/tar/lib/types.js +44 -0
  318. package/node_modules/tar/lib/unpack.js +560 -0
  319. package/node_modules/tar/lib/update.js +36 -0
  320. package/node_modules/tar/lib/warn-mixin.js +14 -0
  321. package/node_modules/tar/lib/winchars.js +23 -0
  322. package/node_modules/tar/lib/write-entry.js +403 -0
  323. package/node_modules/tar/package.json +48 -73
  324. package/node_modules/util-deprecate/package.json +11 -45
  325. package/node_modules/wide-align/package.json +21 -48
  326. package/node_modules/wrappy/package.json +11 -50
  327. package/node_modules/yallist/LICENSE +15 -0
  328. package/node_modules/yallist/README.md +204 -0
  329. package/node_modules/yallist/iterator.js +8 -0
  330. package/node_modules/yallist/package.json +63 -0
  331. package/node_modules/yallist/yallist.js +376 -0
  332. package/package.json +5 -4
  333. package/src/methods.cc +1 -1
  334. package/node_modules/ansi-styles/index.js +0 -65
  335. package/node_modules/ansi-styles/package.json +0 -114
  336. package/node_modules/ansi-styles/readme.md +0 -86
  337. package/node_modules/are-we-there-yet/.npmignore +0 -5
  338. package/node_modules/are-we-there-yet/test/lib/test-event.js +0 -29
  339. package/node_modules/are-we-there-yet/test/tracker.js +0 -57
  340. package/node_modules/are-we-there-yet/test/trackergroup.js +0 -96
  341. package/node_modules/are-we-there-yet/test/trackerstream.js +0 -51
  342. package/node_modules/asn1/.npmignore +0 -2
  343. package/node_modules/asn1/.travis.yml +0 -4
  344. package/node_modules/asn1/LICENSE +0 -19
  345. package/node_modules/asn1/README.md +0 -50
  346. package/node_modules/asn1/lib/ber/errors.js +0 -13
  347. package/node_modules/asn1/lib/ber/index.js +0 -27
  348. package/node_modules/asn1/lib/ber/reader.js +0 -261
  349. package/node_modules/asn1/lib/ber/types.js +0 -36
  350. package/node_modules/asn1/lib/ber/writer.js +0 -316
  351. package/node_modules/asn1/lib/index.js +0 -20
  352. package/node_modules/asn1/package.json +0 -98
  353. package/node_modules/asn1/tst/ber/reader.test.js +0 -208
  354. package/node_modules/asn1/tst/ber/writer.test.js +0 -370
  355. package/node_modules/assert-plus/AUTHORS +0 -6
  356. package/node_modules/assert-plus/CHANGES.md +0 -8
  357. package/node_modules/assert-plus/README.md +0 -155
  358. package/node_modules/assert-plus/assert.js +0 -206
  359. package/node_modules/assert-plus/package.json +0 -115
  360. package/node_modules/asynckit/README.md +0 -233
  361. package/node_modules/asynckit/bench.js +0 -76
  362. package/node_modules/asynckit/index.js +0 -6
  363. package/node_modules/asynckit/lib/abort.js +0 -29
  364. package/node_modules/asynckit/lib/async.js +0 -34
  365. package/node_modules/asynckit/lib/defer.js +0 -26
  366. package/node_modules/asynckit/lib/iterate.js +0 -75
  367. package/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  368. package/node_modules/asynckit/lib/readable_parallel.js +0 -25
  369. package/node_modules/asynckit/lib/readable_serial.js +0 -25
  370. package/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  371. package/node_modules/asynckit/lib/state.js +0 -37
  372. package/node_modules/asynckit/lib/streamify.js +0 -141
  373. package/node_modules/asynckit/lib/terminator.js +0 -29
  374. package/node_modules/asynckit/package.json +0 -126
  375. package/node_modules/asynckit/parallel.js +0 -43
  376. package/node_modules/asynckit/serial.js +0 -17
  377. package/node_modules/asynckit/serialOrdered.js +0 -75
  378. package/node_modules/asynckit/stream.js +0 -21
  379. package/node_modules/aws-sign2/LICENSE +0 -55
  380. package/node_modules/aws-sign2/README.md +0 -4
  381. package/node_modules/aws-sign2/index.js +0 -212
  382. package/node_modules/aws-sign2/package.json +0 -81
  383. package/node_modules/aws4/.npmignore +0 -4
  384. package/node_modules/aws4/.tern-port +0 -1
  385. package/node_modules/aws4/.travis.yml +0 -5
  386. package/node_modules/aws4/LICENSE +0 -19
  387. package/node_modules/aws4/README.md +0 -523
  388. package/node_modules/aws4/aws4.js +0 -332
  389. package/node_modules/aws4/lru.js +0 -96
  390. package/node_modules/aws4/package.json +0 -140
  391. package/node_modules/bcrypt-pbkdf/README.md +0 -39
  392. package/node_modules/bcrypt-pbkdf/index.js +0 -556
  393. package/node_modules/bcrypt-pbkdf/package.json +0 -84
  394. package/node_modules/block-stream/LICENCE +0 -25
  395. package/node_modules/block-stream/README.md +0 -14
  396. package/node_modules/block-stream/block-stream.js +0 -209
  397. package/node_modules/block-stream/package.json +0 -95
  398. package/node_modules/boom/.npmignore +0 -18
  399. package/node_modules/boom/.travis.yml +0 -8
  400. package/node_modules/boom/CONTRIBUTING.md +0 -1
  401. package/node_modules/boom/LICENSE +0 -28
  402. package/node_modules/boom/README.md +0 -652
  403. package/node_modules/boom/images/boom.png +0 -0
  404. package/node_modules/boom/lib/index.js +0 -318
  405. package/node_modules/boom/package.json +0 -98
  406. package/node_modules/boom/test/index.js +0 -654
  407. package/node_modules/buffer-shims/index.js +0 -108
  408. package/node_modules/buffer-shims/license.md +0 -19
  409. package/node_modules/buffer-shims/package.json +0 -86
  410. package/node_modules/buffer-shims/readme.md +0 -21
  411. package/node_modules/caseless/LICENSE +0 -28
  412. package/node_modules/caseless/README.md +0 -45
  413. package/node_modules/caseless/index.js +0 -66
  414. package/node_modules/caseless/package.json +0 -96
  415. package/node_modules/caseless/test.js +0 -40
  416. package/node_modules/chalk/index.js +0 -116
  417. package/node_modules/chalk/package.json +0 -140
  418. package/node_modules/chalk/readme.md +0 -213
  419. package/node_modules/combined-stream/License +0 -19
  420. package/node_modules/combined-stream/Readme.md +0 -138
  421. package/node_modules/combined-stream/lib/combined_stream.js +0 -188
  422. package/node_modules/combined-stream/package.json +0 -101
  423. package/node_modules/commander/History.md +0 -261
  424. package/node_modules/commander/LICENSE +0 -22
  425. package/node_modules/commander/Readme.md +0 -351
  426. package/node_modules/commander/index.js +0 -1110
  427. package/node_modules/commander/package.json +0 -104
  428. package/node_modules/cryptiles/.npmignore +0 -18
  429. package/node_modules/cryptiles/.travis.yml +0 -8
  430. package/node_modules/cryptiles/LICENSE +0 -28
  431. package/node_modules/cryptiles/README.md +0 -16
  432. package/node_modules/cryptiles/lib/index.js +0 -68
  433. package/node_modules/cryptiles/package.json +0 -94
  434. package/node_modules/cryptiles/test/index.js +0 -102
  435. package/node_modules/dashdash/CHANGES.md +0 -364
  436. package/node_modules/dashdash/LICENSE.txt +0 -24
  437. package/node_modules/dashdash/README.md +0 -574
  438. package/node_modules/dashdash/etc/dashdash.bash_completion.in +0 -389
  439. package/node_modules/dashdash/lib/dashdash.js +0 -1055
  440. package/node_modules/dashdash/node_modules/assert-plus/AUTHORS +0 -6
  441. package/node_modules/dashdash/node_modules/assert-plus/CHANGES.md +0 -14
  442. package/node_modules/dashdash/node_modules/assert-plus/README.md +0 -162
  443. package/node_modules/dashdash/node_modules/assert-plus/assert.js +0 -211
  444. package/node_modules/dashdash/node_modules/assert-plus/package.json +0 -115
  445. package/node_modules/dashdash/package.json +0 -125
  446. package/node_modules/debug/.jshintrc +0 -3
  447. package/node_modules/debug/History.md +0 -195
  448. package/node_modules/debug/Readme.md +0 -188
  449. package/node_modules/debug/bower.json +0 -28
  450. package/node_modules/delayed-stream/.npmignore +0 -1
  451. package/node_modules/delayed-stream/License +0 -19
  452. package/node_modules/delayed-stream/Makefile +0 -7
  453. package/node_modules/delayed-stream/Readme.md +0 -141
  454. package/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  455. package/node_modules/delayed-stream/package.json +0 -97
  456. package/node_modules/ecc-jsbn/.npmignore +0 -15
  457. package/node_modules/ecc-jsbn/README.md +0 -8
  458. package/node_modules/ecc-jsbn/index.js +0 -57
  459. package/node_modules/ecc-jsbn/lib/LICENSE-jsbn +0 -40
  460. package/node_modules/ecc-jsbn/lib/ec.js +0 -561
  461. package/node_modules/ecc-jsbn/lib/sec.js +0 -170
  462. package/node_modules/ecc-jsbn/package.json +0 -90
  463. package/node_modules/ecc-jsbn/test.js +0 -14
  464. package/node_modules/escape-string-regexp/index.js +0 -11
  465. package/node_modules/escape-string-regexp/license +0 -21
  466. package/node_modules/escape-string-regexp/package.json +0 -109
  467. package/node_modules/escape-string-regexp/readme.md +0 -27
  468. package/node_modules/extend/.eslintrc +0 -192
  469. package/node_modules/extend/.jscs.json +0 -104
  470. package/node_modules/extend/.npmignore +0 -1
  471. package/node_modules/extend/.travis.yml +0 -44
  472. package/node_modules/extend/CHANGELOG.md +0 -69
  473. package/node_modules/extend/LICENSE +0 -23
  474. package/node_modules/extend/README.md +0 -62
  475. package/node_modules/extend/component.json +0 -32
  476. package/node_modules/extend/index.js +0 -86
  477. package/node_modules/extend/package.json +0 -106
  478. package/node_modules/extsprintf/.gitmodules +0 -6
  479. package/node_modules/extsprintf/LICENSE +0 -19
  480. package/node_modules/extsprintf/Makefile +0 -23
  481. package/node_modules/extsprintf/Makefile.deps +0 -39
  482. package/node_modules/extsprintf/Makefile.targ +0 -285
  483. package/node_modules/extsprintf/README.md +0 -39
  484. package/node_modules/extsprintf/examples/simple.js +0 -2
  485. package/node_modules/extsprintf/jsl.node.conf +0 -137
  486. package/node_modules/extsprintf/lib/extsprintf.js +0 -166
  487. package/node_modules/extsprintf/package.json +0 -74
  488. package/node_modules/forever-agent/LICENSE +0 -55
  489. package/node_modules/forever-agent/README.md +0 -4
  490. package/node_modules/forever-agent/index.js +0 -138
  491. package/node_modules/forever-agent/package.json +0 -88
  492. package/node_modules/form-data/License +0 -19
  493. package/node_modules/form-data/README.md +0 -217
  494. package/node_modules/form-data/lib/browser.js +0 -2
  495. package/node_modules/form-data/lib/form_data.js +0 -440
  496. package/node_modules/form-data/lib/populate.js +0 -10
  497. package/node_modules/form-data/package.json +0 -145
  498. package/node_modules/fstream/.npmignore +0 -5
  499. package/node_modules/fstream/.travis.yml +0 -9
  500. package/node_modules/fstream/README.md +0 -76
  501. package/node_modules/fstream/examples/filter-pipe.js +0 -134
  502. package/node_modules/fstream/examples/pipe.js +0 -118
  503. package/node_modules/fstream/examples/reader.js +0 -68
  504. package/node_modules/fstream/examples/symlink-write.js +0 -27
  505. package/node_modules/fstream/fstream.js +0 -35
  506. package/node_modules/fstream/lib/abstract.js +0 -85
  507. package/node_modules/fstream/lib/collect.js +0 -70
  508. package/node_modules/fstream/lib/dir-reader.js +0 -252
  509. package/node_modules/fstream/lib/dir-writer.js +0 -174
  510. package/node_modules/fstream/lib/file-reader.js +0 -150
  511. package/node_modules/fstream/lib/file-writer.js +0 -107
  512. package/node_modules/fstream/lib/get-type.js +0 -33
  513. package/node_modules/fstream/lib/link-reader.js +0 -53
  514. package/node_modules/fstream/lib/link-writer.js +0 -95
  515. package/node_modules/fstream/lib/proxy-reader.js +0 -95
  516. package/node_modules/fstream/lib/proxy-writer.js +0 -111
  517. package/node_modules/fstream/lib/reader.js +0 -255
  518. package/node_modules/fstream/lib/socket-reader.js +0 -36
  519. package/node_modules/fstream/lib/writer.js +0 -390
  520. package/node_modules/fstream/package.json +0 -110
  521. package/node_modules/fstream-ignore/README.md +0 -22
  522. package/node_modules/fstream-ignore/ignore.js +0 -275
  523. package/node_modules/fstream-ignore/package.json +0 -104
  524. package/node_modules/generate-function/.npmignore +0 -1
  525. package/node_modules/generate-function/.travis.yml +0 -3
  526. package/node_modules/generate-function/README.md +0 -72
  527. package/node_modules/generate-function/example.js +0 -27
  528. package/node_modules/generate-function/index.js +0 -61
  529. package/node_modules/generate-function/package.json +0 -87
  530. package/node_modules/generate-function/test.js +0 -33
  531. package/node_modules/generate-object-property/.npmignore +0 -1
  532. package/node_modules/generate-object-property/.travis.yml +0 -3
  533. package/node_modules/generate-object-property/LICENSE +0 -21
  534. package/node_modules/generate-object-property/README.md +0 -19
  535. package/node_modules/generate-object-property/index.js +0 -12
  536. package/node_modules/generate-object-property/package.json +0 -84
  537. package/node_modules/generate-object-property/test.js +0 -12
  538. package/node_modules/getpass/.npmignore +0 -8
  539. package/node_modules/getpass/.travis.yml +0 -9
  540. package/node_modules/getpass/LICENSE +0 -18
  541. package/node_modules/getpass/README.md +0 -32
  542. package/node_modules/getpass/lib/index.js +0 -123
  543. package/node_modules/getpass/node_modules/assert-plus/AUTHORS +0 -6
  544. package/node_modules/getpass/node_modules/assert-plus/CHANGES.md +0 -14
  545. package/node_modules/getpass/node_modules/assert-plus/README.md +0 -162
  546. package/node_modules/getpass/node_modules/assert-plus/assert.js +0 -211
  547. package/node_modules/getpass/node_modules/assert-plus/package.json +0 -115
  548. package/node_modules/getpass/package.json +0 -90
  549. package/node_modules/graceful-fs/LICENSE +0 -15
  550. package/node_modules/graceful-fs/README.md +0 -133
  551. package/node_modules/graceful-fs/fs.js +0 -21
  552. package/node_modules/graceful-fs/graceful-fs.js +0 -262
  553. package/node_modules/graceful-fs/legacy-streams.js +0 -118
  554. package/node_modules/graceful-fs/package.json +0 -111
  555. package/node_modules/graceful-fs/polyfills.js +0 -330
  556. package/node_modules/graceful-readlink/.npmignore +0 -3
  557. package/node_modules/graceful-readlink/.travis.yml +0 -5
  558. package/node_modules/graceful-readlink/README.md +0 -17
  559. package/node_modules/graceful-readlink/index.js +0 -12
  560. package/node_modules/graceful-readlink/package.json +0 -83
  561. package/node_modules/har-validator/LICENSE +0 -13
  562. package/node_modules/har-validator/README.md +0 -309
  563. package/node_modules/har-validator/bin/har-validator +0 -56
  564. package/node_modules/har-validator/lib/async.js +0 -14
  565. package/node_modules/har-validator/lib/error.js +0 -10
  566. package/node_modules/har-validator/lib/index.js +0 -22
  567. package/node_modules/har-validator/lib/runner.js +0 -29
  568. package/node_modules/har-validator/lib/schemas/cache.json +0 -13
  569. package/node_modules/har-validator/lib/schemas/cacheEntry.json +0 -31
  570. package/node_modules/har-validator/lib/schemas/content.json +0 -27
  571. package/node_modules/har-validator/lib/schemas/cookie.json +0 -34
  572. package/node_modules/har-validator/lib/schemas/creator.json +0 -18
  573. package/node_modules/har-validator/lib/schemas/entry.json +0 -51
  574. package/node_modules/har-validator/lib/schemas/har.json +0 -11
  575. package/node_modules/har-validator/lib/schemas/index.js +0 -49
  576. package/node_modules/har-validator/lib/schemas/log.json +0 -34
  577. package/node_modules/har-validator/lib/schemas/page.json +0 -30
  578. package/node_modules/har-validator/lib/schemas/pageTimings.json +0 -16
  579. package/node_modules/har-validator/lib/schemas/postData.json +0 -41
  580. package/node_modules/har-validator/lib/schemas/record.json +0 -18
  581. package/node_modules/har-validator/lib/schemas/request.json +0 -55
  582. package/node_modules/har-validator/lib/schemas/response.json +0 -52
  583. package/node_modules/har-validator/lib/schemas/timings.json +0 -40
  584. package/node_modules/har-validator/package.json +0 -120
  585. package/node_modules/has-ansi/index.js +0 -4
  586. package/node_modules/has-ansi/license +0 -21
  587. package/node_modules/has-ansi/package.json +0 -118
  588. package/node_modules/has-ansi/readme.md +0 -36
  589. package/node_modules/hawk/.npmignore +0 -20
  590. package/node_modules/hawk/.travis.yml +0 -5
  591. package/node_modules/hawk/LICENSE +0 -28
  592. package/node_modules/hawk/README.md +0 -634
  593. package/node_modules/hawk/bower.json +0 -24
  594. package/node_modules/hawk/component.json +0 -19
  595. package/node_modules/hawk/dist/client.js +0 -343
  596. package/node_modules/hawk/example/usage.js +0 -78
  597. package/node_modules/hawk/images/hawk.png +0 -0
  598. package/node_modules/hawk/images/logo.png +0 -0
  599. package/node_modules/hawk/lib/browser.js +0 -637
  600. package/node_modules/hawk/lib/client.js +0 -369
  601. package/node_modules/hawk/lib/crypto.js +0 -126
  602. package/node_modules/hawk/lib/index.js +0 -15
  603. package/node_modules/hawk/lib/server.js +0 -548
  604. package/node_modules/hawk/lib/utils.js +0 -184
  605. package/node_modules/hawk/package.json +0 -101
  606. package/node_modules/hawk/test/browser.js +0 -1492
  607. package/node_modules/hawk/test/client.js +0 -440
  608. package/node_modules/hawk/test/crypto.js +0 -70
  609. package/node_modules/hawk/test/index.js +0 -378
  610. package/node_modules/hawk/test/readme.js +0 -95
  611. package/node_modules/hawk/test/server.js +0 -1329
  612. package/node_modules/hawk/test/uri.js +0 -838
  613. package/node_modules/hawk/test/utils.js +0 -149
  614. package/node_modules/hoek/.npmignore +0 -18
  615. package/node_modules/hoek/.travis.yml +0 -7
  616. package/node_modules/hoek/CONTRIBUTING.md +0 -1
  617. package/node_modules/hoek/LICENSE +0 -31
  618. package/node_modules/hoek/README.md +0 -584
  619. package/node_modules/hoek/images/hoek.png +0 -0
  620. package/node_modules/hoek/lib/escape.js +0 -132
  621. package/node_modules/hoek/lib/index.js +0 -993
  622. package/node_modules/hoek/package.json +0 -96
  623. package/node_modules/hoek/test/escaper.js +0 -88
  624. package/node_modules/hoek/test/index.js +0 -2513
  625. package/node_modules/hoek/test/modules/test1.js +0 -1
  626. package/node_modules/hoek/test/modules/test2.js +0 -1
  627. package/node_modules/hoek/test/modules/test3.js +0 -1
  628. package/node_modules/http-signature/.dir-locals.el +0 -6
  629. package/node_modules/http-signature/.npmignore +0 -7
  630. package/node_modules/http-signature/CHANGES.md +0 -46
  631. package/node_modules/http-signature/LICENSE +0 -18
  632. package/node_modules/http-signature/README.md +0 -79
  633. package/node_modules/http-signature/http_signing.md +0 -363
  634. package/node_modules/http-signature/lib/index.js +0 -29
  635. package/node_modules/http-signature/lib/parser.js +0 -318
  636. package/node_modules/http-signature/lib/signer.js +0 -399
  637. package/node_modules/http-signature/lib/utils.js +0 -112
  638. package/node_modules/http-signature/lib/verify.js +0 -88
  639. package/node_modules/http-signature/package.json +0 -116
  640. package/node_modules/is-my-json-valid/.npmignore +0 -2
  641. package/node_modules/is-my-json-valid/.travis.yml +0 -3
  642. package/node_modules/is-my-json-valid/LICENSE +0 -21
  643. package/node_modules/is-my-json-valid/README.md +0 -173
  644. package/node_modules/is-my-json-valid/example.js +0 -18
  645. package/node_modules/is-my-json-valid/formats.js +0 -14
  646. package/node_modules/is-my-json-valid/index.js +0 -594
  647. package/node_modules/is-my-json-valid/package.json +0 -116
  648. package/node_modules/is-my-json-valid/require.js +0 -12
  649. package/node_modules/is-my-json-valid/test/fixtures/cosmic.js +0 -84
  650. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +0 -82
  651. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +0 -88
  652. package/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +0 -112
  653. package/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +0 -68
  654. package/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +0 -107
  655. package/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +0 -49
  656. package/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +0 -32
  657. package/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +0 -113
  658. package/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +0 -72
  659. package/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +0 -143
  660. package/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +0 -46
  661. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +0 -28
  662. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +0 -28
  663. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +0 -28
  664. package/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +0 -42
  665. package/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +0 -28
  666. package/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +0 -28
  667. package/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +0 -28
  668. package/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +0 -42
  669. package/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +0 -96
  670. package/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +0 -96
  671. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +0 -18
  672. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +0 -18
  673. package/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +0 -68
  674. package/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +0 -23
  675. package/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +0 -110
  676. package/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +0 -92
  677. package/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +0 -128
  678. package/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +0 -74
  679. package/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +0 -39
  680. package/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +0 -330
  681. package/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +0 -79
  682. package/node_modules/is-my-json-valid/test/json-schema.js +0 -23
  683. package/node_modules/is-my-json-valid/test/misc.js +0 -471
  684. package/node_modules/is-property/.npmignore +0 -17
  685. package/node_modules/is-property/README.md +0 -28
  686. package/node_modules/is-property/is-property.js +0 -5
  687. package/node_modules/is-property/package.json +0 -92
  688. package/node_modules/is-typedarray/LICENSE.md +0 -18
  689. package/node_modules/is-typedarray/README.md +0 -16
  690. package/node_modules/is-typedarray/index.js +0 -41
  691. package/node_modules/is-typedarray/package.json +0 -90
  692. package/node_modules/is-typedarray/test.js +0 -34
  693. package/node_modules/isstream/.jshintrc +0 -59
  694. package/node_modules/isstream/.npmignore +0 -1
  695. package/node_modules/isstream/.travis.yml +0 -12
  696. package/node_modules/isstream/LICENSE.md +0 -11
  697. package/node_modules/isstream/README.md +0 -66
  698. package/node_modules/isstream/isstream.js +0 -27
  699. package/node_modules/isstream/package.json +0 -93
  700. package/node_modules/isstream/test.js +0 -168
  701. package/node_modules/jodid25519/.npmignore +0 -11
  702. package/node_modules/jodid25519/.travis.yml +0 -7
  703. package/node_modules/jodid25519/AUTHORS.md +0 -3
  704. package/node_modules/jodid25519/LICENSE +0 -23
  705. package/node_modules/jodid25519/README.md +0 -51
  706. package/node_modules/jodid25519/almond.0 +0 -42
  707. package/node_modules/jodid25519/almond.1 +0 -13
  708. package/node_modules/jodid25519/index.js +0 -35
  709. package/node_modules/jodid25519/jsdoc.json +0 -19
  710. package/node_modules/jodid25519/lib/core.js +0 -481
  711. package/node_modules/jodid25519/lib/curve255.js +0 -221
  712. package/node_modules/jodid25519/lib/dh.js +0 -111
  713. package/node_modules/jodid25519/lib/eddsa.js +0 -573
  714. package/node_modules/jodid25519/lib/utils.js +0 -198
  715. package/node_modules/jodid25519/package.json +0 -104
  716. package/node_modules/jsbn/.npmignore +0 -2
  717. package/node_modules/jsbn/LICENSE +0 -40
  718. package/node_modules/jsbn/README.md +0 -175
  719. package/node_modules/jsbn/example.html +0 -12
  720. package/node_modules/jsbn/example.js +0 -3
  721. package/node_modules/jsbn/index.js +0 -1357
  722. package/node_modules/jsbn/package.json +0 -91
  723. package/node_modules/json-schema/README.md +0 -5
  724. package/node_modules/json-schema/draft-00/hyper-schema +0 -68
  725. package/node_modules/json-schema/draft-00/json-ref +0 -26
  726. package/node_modules/json-schema/draft-00/links +0 -33
  727. package/node_modules/json-schema/draft-00/schema +0 -155
  728. package/node_modules/json-schema/draft-01/hyper-schema +0 -68
  729. package/node_modules/json-schema/draft-01/json-ref +0 -26
  730. package/node_modules/json-schema/draft-01/links +0 -33
  731. package/node_modules/json-schema/draft-01/schema +0 -155
  732. package/node_modules/json-schema/draft-02/hyper-schema +0 -68
  733. package/node_modules/json-schema/draft-02/json-ref +0 -26
  734. package/node_modules/json-schema/draft-02/links +0 -35
  735. package/node_modules/json-schema/draft-02/schema +0 -166
  736. package/node_modules/json-schema/draft-03/examples/address +0 -20
  737. package/node_modules/json-schema/draft-03/examples/calendar +0 -53
  738. package/node_modules/json-schema/draft-03/examples/card +0 -105
  739. package/node_modules/json-schema/draft-03/examples/geo +0 -8
  740. package/node_modules/json-schema/draft-03/examples/interfaces +0 -23
  741. package/node_modules/json-schema/draft-03/hyper-schema +0 -60
  742. package/node_modules/json-schema/draft-03/json-ref +0 -26
  743. package/node_modules/json-schema/draft-03/links +0 -35
  744. package/node_modules/json-schema/draft-03/schema +0 -174
  745. package/node_modules/json-schema/draft-04/hyper-schema +0 -60
  746. package/node_modules/json-schema/draft-04/links +0 -41
  747. package/node_modules/json-schema/draft-04/schema +0 -189
  748. package/node_modules/json-schema/draft-zyp-json-schema-03.xml +0 -1120
  749. package/node_modules/json-schema/draft-zyp-json-schema-04.xml +0 -1072
  750. package/node_modules/json-schema/lib/links.js +0 -66
  751. package/node_modules/json-schema/lib/validate.js +0 -273
  752. package/node_modules/json-schema/package.json +0 -100
  753. package/node_modules/json-schema/test/tests.js +0 -95
  754. package/node_modules/json-stringify-safe/.npmignore +0 -1
  755. package/node_modules/json-stringify-safe/CHANGELOG.md +0 -14
  756. package/node_modules/json-stringify-safe/Makefile +0 -35
  757. package/node_modules/json-stringify-safe/README.md +0 -52
  758. package/node_modules/json-stringify-safe/package.json +0 -102
  759. package/node_modules/json-stringify-safe/stringify.js +0 -27
  760. package/node_modules/json-stringify-safe/test/mocha.opts +0 -2
  761. package/node_modules/json-stringify-safe/test/stringify_test.js +0 -246
  762. package/node_modules/jsonpointer/LICENSE.md +0 -21
  763. package/node_modules/jsonpointer/README.md +0 -39
  764. package/node_modules/jsonpointer/jsonpointer.js +0 -93
  765. package/node_modules/jsonpointer/package.json +0 -112
  766. package/node_modules/jsprim/CHANGES.md +0 -39
  767. package/node_modules/jsprim/LICENSE +0 -19
  768. package/node_modules/jsprim/README.md +0 -237
  769. package/node_modules/jsprim/lib/jsprim.js +0 -488
  770. package/node_modules/jsprim/package.json +0 -85
  771. package/node_modules/mime-db/HISTORY.md +0 -391
  772. package/node_modules/mime-db/LICENSE +0 -22
  773. package/node_modules/mime-db/README.md +0 -82
  774. package/node_modules/mime-db/db.json +0 -6751
  775. package/node_modules/mime-db/index.js +0 -11
  776. package/node_modules/mime-db/package.json +0 -138
  777. package/node_modules/mime-types/HISTORY.md +0 -216
  778. package/node_modules/mime-types/LICENSE +0 -23
  779. package/node_modules/mime-types/README.md +0 -103
  780. package/node_modules/mime-types/index.js +0 -188
  781. package/node_modules/mime-types/package.json +0 -128
  782. package/node_modules/ms/.npmignore +0 -5
  783. package/node_modules/ms/History.md +0 -66
  784. package/node_modules/ms/LICENSE +0 -20
  785. package/node_modules/ms/README.md +0 -35
  786. package/node_modules/oauth-sign/LICENSE +0 -55
  787. package/node_modules/oauth-sign/README.md +0 -4
  788. package/node_modules/oauth-sign/index.js +0 -136
  789. package/node_modules/oauth-sign/package.json +0 -98
  790. package/node_modules/pinkie/index.js +0 -292
  791. package/node_modules/pinkie/license +0 -21
  792. package/node_modules/pinkie/package.json +0 -100
  793. package/node_modules/pinkie/readme.md +0 -83
  794. package/node_modules/pinkie-promise/index.js +0 -3
  795. package/node_modules/pinkie-promise/license +0 -21
  796. package/node_modules/pinkie-promise/package.json +0 -102
  797. package/node_modules/pinkie-promise/readme.md +0 -28
  798. package/node_modules/process-nextick-args/.travis.yml +0 -12
  799. package/node_modules/process-nextick-args/test.js +0 -24
  800. package/node_modules/punycode/README.md +0 -176
  801. package/node_modules/punycode/package.json +0 -127
  802. package/node_modules/punycode/punycode.js +0 -533
  803. package/node_modules/qs/.eslintignore +0 -1
  804. package/node_modules/qs/.eslintrc +0 -19
  805. package/node_modules/qs/CHANGELOG.md +0 -156
  806. package/node_modules/qs/LICENSE +0 -28
  807. package/node_modules/qs/README.md +0 -431
  808. package/node_modules/qs/dist/qs.js +0 -587
  809. package/node_modules/qs/lib/formats.js +0 -18
  810. package/node_modules/qs/lib/index.js +0 -11
  811. package/node_modules/qs/lib/parse.js +0 -166
  812. package/node_modules/qs/lib/stringify.js +0 -200
  813. package/node_modules/qs/lib/utils.js +0 -180
  814. package/node_modules/qs/package.json +0 -121
  815. package/node_modules/qs/test/.eslintrc +0 -10
  816. package/node_modules/qs/test/index.js +0 -7
  817. package/node_modules/qs/test/parse.js +0 -484
  818. package/node_modules/qs/test/stringify.js +0 -538
  819. package/node_modules/qs/test/utils.js +0 -22
  820. package/node_modules/readable-stream/.npmignore +0 -9
  821. package/node_modules/request/CHANGELOG.md +0 -662
  822. package/node_modules/request/LICENSE +0 -55
  823. package/node_modules/request/README.md +0 -1098
  824. package/node_modules/request/index.js +0 -156
  825. package/node_modules/request/lib/auth.js +0 -168
  826. package/node_modules/request/lib/cookies.js +0 -39
  827. package/node_modules/request/lib/getProxyFromURI.js +0 -79
  828. package/node_modules/request/lib/har.js +0 -215
  829. package/node_modules/request/lib/helpers.js +0 -65
  830. package/node_modules/request/lib/multipart.js +0 -112
  831. package/node_modules/request/lib/oauth.js +0 -147
  832. package/node_modules/request/lib/querystring.js +0 -51
  833. package/node_modules/request/lib/redirect.js +0 -157
  834. package/node_modules/request/lib/tunnel.js +0 -176
  835. package/node_modules/request/package.json +0 -163
  836. package/node_modules/request/request.js +0 -1475
  837. package/node_modules/sntp/.npmignore +0 -18
  838. package/node_modules/sntp/.travis.yml +0 -5
  839. package/node_modules/sntp/LICENSE +0 -28
  840. package/node_modules/sntp/Makefile +0 -9
  841. package/node_modules/sntp/README.md +0 -68
  842. package/node_modules/sntp/examples/offset.js +0 -16
  843. package/node_modules/sntp/examples/time.js +0 -25
  844. package/node_modules/sntp/index.js +0 -1
  845. package/node_modules/sntp/lib/index.js +0 -412
  846. package/node_modules/sntp/package.json +0 -98
  847. package/node_modules/sntp/test/index.js +0 -435
  848. package/node_modules/sshpk/.npmignore +0 -9
  849. package/node_modules/sshpk/.travis.yml +0 -11
  850. package/node_modules/sshpk/LICENSE +0 -18
  851. package/node_modules/sshpk/README.md +0 -666
  852. package/node_modules/sshpk/bin/sshpk-conv +0 -201
  853. package/node_modules/sshpk/bin/sshpk-sign +0 -191
  854. package/node_modules/sshpk/bin/sshpk-verify +0 -166
  855. package/node_modules/sshpk/lib/algs.js +0 -168
  856. package/node_modules/sshpk/lib/certificate.js +0 -291
  857. package/node_modules/sshpk/lib/dhe.js +0 -311
  858. package/node_modules/sshpk/lib/ed-compat.js +0 -96
  859. package/node_modules/sshpk/lib/errors.js +0 -84
  860. package/node_modules/sshpk/lib/fingerprint.js +0 -161
  861. package/node_modules/sshpk/lib/formats/auto.js +0 -73
  862. package/node_modules/sshpk/lib/formats/openssh-cert.js +0 -289
  863. package/node_modules/sshpk/lib/formats/pem.js +0 -186
  864. package/node_modules/sshpk/lib/formats/pkcs1.js +0 -320
  865. package/node_modules/sshpk/lib/formats/pkcs8.js +0 -505
  866. package/node_modules/sshpk/lib/formats/rfc4253.js +0 -146
  867. package/node_modules/sshpk/lib/formats/ssh-private.js +0 -261
  868. package/node_modules/sshpk/lib/formats/ssh.js +0 -114
  869. package/node_modules/sshpk/lib/formats/x509-pem.js +0 -77
  870. package/node_modules/sshpk/lib/formats/x509.js +0 -484
  871. package/node_modules/sshpk/lib/identity.js +0 -277
  872. package/node_modules/sshpk/lib/index.js +0 -38
  873. package/node_modules/sshpk/lib/key.js +0 -270
  874. package/node_modules/sshpk/lib/private-key.js +0 -231
  875. package/node_modules/sshpk/lib/signature.js +0 -245
  876. package/node_modules/sshpk/lib/ssh-buffer.js +0 -148
  877. package/node_modules/sshpk/lib/utils.js +0 -288
  878. package/node_modules/sshpk/man/man1/sshpk-conv.1 +0 -135
  879. package/node_modules/sshpk/man/man1/sshpk-sign.1 +0 -81
  880. package/node_modules/sshpk/man/man1/sshpk-verify.1 +0 -68
  881. package/node_modules/sshpk/node_modules/assert-plus/AUTHORS +0 -6
  882. package/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +0 -14
  883. package/node_modules/sshpk/node_modules/assert-plus/README.md +0 -162
  884. package/node_modules/sshpk/node_modules/assert-plus/assert.js +0 -211
  885. package/node_modules/sshpk/node_modules/assert-plus/package.json +0 -115
  886. package/node_modules/sshpk/package.json +0 -135
  887. package/node_modules/string_decoder/.npmignore +0 -2
  888. package/node_modules/string_decoder/index.js +0 -221
  889. package/node_modules/stringstream/.npmignore +0 -15
  890. package/node_modules/stringstream/.travis.yml +0 -4
  891. package/node_modules/stringstream/LICENSE.txt +0 -22
  892. package/node_modules/stringstream/README.md +0 -38
  893. package/node_modules/stringstream/example.js +0 -27
  894. package/node_modules/stringstream/package.json +0 -85
  895. package/node_modules/stringstream/stringstream.js +0 -102
  896. package/node_modules/supports-color/index.js +0 -50
  897. package/node_modules/supports-color/license +0 -21
  898. package/node_modules/supports-color/package.json +0 -113
  899. package/node_modules/supports-color/readme.md +0 -36
  900. package/node_modules/tar/.npmignore +0 -5
  901. package/node_modules/tar/.travis.yml +0 -4
  902. package/node_modules/tar/examples/extracter.js +0 -19
  903. package/node_modules/tar/examples/packer.js +0 -24
  904. package/node_modules/tar/examples/reader.js +0 -36
  905. package/node_modules/tar/lib/buffer-entry.js +0 -30
  906. package/node_modules/tar/lib/entry-writer.js +0 -169
  907. package/node_modules/tar/lib/entry.js +0 -220
  908. package/node_modules/tar/lib/extended-header-writer.js +0 -191
  909. package/node_modules/tar/lib/extended-header.js +0 -140
  910. package/node_modules/tar/lib/global-header-writer.js +0 -14
  911. package/node_modules/tar/tar.js +0 -173
  912. package/node_modules/tar/test/00-setup-fixtures.js +0 -53
  913. package/node_modules/tar/test/cb-never-called-1.0.1.tgz +0 -0
  914. package/node_modules/tar/test/dir-normalization.js +0 -177
  915. package/node_modules/tar/test/dir-normalization.tar +0 -0
  916. package/node_modules/tar/test/error-on-broken.js +0 -33
  917. package/node_modules/tar/test/extract-move.js +0 -132
  918. package/node_modules/tar/test/extract.js +0 -367
  919. package/node_modules/tar/test/fixtures.tgz +0 -0
  920. package/node_modules/tar/test/header.js +0 -183
  921. package/node_modules/tar/test/pack-no-proprietary.js +0 -886
  922. package/node_modules/tar/test/pack.js +0 -952
  923. package/node_modules/tar/test/parse-discard.js +0 -29
  924. package/node_modules/tar/test/parse.js +0 -359
  925. package/node_modules/tar/test/zz-cleanup.js +0 -20
  926. package/node_modules/tar-pack/.npmignore +0 -14
  927. package/node_modules/tar-pack/.travis.yml +0 -7
  928. package/node_modules/tar-pack/LICENSE +0 -23
  929. package/node_modules/tar-pack/README.md +0 -84
  930. package/node_modules/tar-pack/index.js +0 -245
  931. package/node_modules/tar-pack/node_modules/once/README.md +0 -51
  932. package/node_modules/tar-pack/node_modules/once/once.js +0 -21
  933. package/node_modules/tar-pack/node_modules/once/package.json +0 -96
  934. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +0 -8
  935. package/node_modules/tar-pack/node_modules/readable-stream/.travis.yml +0 -49
  936. package/node_modules/tar-pack/node_modules/readable-stream/LICENSE +0 -18
  937. package/node_modules/tar-pack/node_modules/readable-stream/README.md +0 -36
  938. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +0 -2015
  939. package/node_modules/tar-pack/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  940. package/node_modules/tar-pack/node_modules/readable-stream/duplex.js +0 -1
  941. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_duplex.js +0 -75
  942. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_passthrough.js +0 -26
  943. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_readable.js +0 -937
  944. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_transform.js +0 -180
  945. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_writable.js +0 -526
  946. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -64
  947. package/node_modules/tar-pack/node_modules/readable-stream/package.json +0 -125
  948. package/node_modules/tar-pack/node_modules/readable-stream/passthrough.js +0 -1
  949. package/node_modules/tar-pack/node_modules/readable-stream/transform.js +0 -1
  950. package/node_modules/tar-pack/node_modules/readable-stream/writable.js +0 -1
  951. package/node_modules/tar-pack/package.json +0 -109
  952. package/node_modules/tar-pack/test/fixtures/packed-file.txt +0 -1
  953. package/node_modules/tar-pack/test/fixtures/packed.tar.gz +0 -0
  954. package/node_modules/tar-pack/test/fixtures/to-pack/bar.txt +0 -1
  955. package/node_modules/tar-pack/test/fixtures/to-pack/foo.txt +0 -1
  956. package/node_modules/tar-pack/test/index.js +0 -109
  957. package/node_modules/tough-cookie/LICENSE +0 -27
  958. package/node_modules/tough-cookie/README.md +0 -506
  959. package/node_modules/tough-cookie/lib/cookie.js +0 -1336
  960. package/node_modules/tough-cookie/lib/memstore.js +0 -170
  961. package/node_modules/tough-cookie/lib/pathMatch.js +0 -61
  962. package/node_modules/tough-cookie/lib/permuteDomain.js +0 -56
  963. package/node_modules/tough-cookie/lib/pubsuffix.js +0 -98
  964. package/node_modules/tough-cookie/lib/store.js +0 -71
  965. package/node_modules/tough-cookie/package.json +0 -135
  966. package/node_modules/tunnel-agent/LICENSE +0 -55
  967. package/node_modules/tunnel-agent/README.md +0 -4
  968. package/node_modules/tunnel-agent/index.js +0 -243
  969. package/node_modules/tunnel-agent/package.json +0 -100
  970. package/node_modules/tweetnacl/.npmignore +0 -4
  971. package/node_modules/tweetnacl/AUTHORS.md +0 -28
  972. package/node_modules/tweetnacl/CHANGELOG.md +0 -221
  973. package/node_modules/tweetnacl/LICENSE +0 -24
  974. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +0 -20
  975. package/node_modules/tweetnacl/README.md +0 -459
  976. package/node_modules/tweetnacl/nacl-fast.js +0 -2388
  977. package/node_modules/tweetnacl/nacl-fast.min.js +0 -2
  978. package/node_modules/tweetnacl/nacl.d.ts +0 -98
  979. package/node_modules/tweetnacl/nacl.js +0 -1175
  980. package/node_modules/tweetnacl/nacl.min.js +0 -1
  981. package/node_modules/tweetnacl/package.json +0 -121
  982. package/node_modules/uid-number/LICENSE +0 -15
  983. package/node_modules/uid-number/README.md +0 -17
  984. package/node_modules/uid-number/get-uid-gid.js +0 -24
  985. package/node_modules/uid-number/package.json +0 -82
  986. package/node_modules/uid-number/uid-number.js +0 -59
  987. package/node_modules/uuid/.npmignore +0 -8
  988. package/node_modules/uuid/.travis.yml +0 -5
  989. package/node_modules/uuid/AUTHORS +0 -5
  990. package/node_modules/uuid/HISTORY.md +0 -28
  991. package/node_modules/uuid/LICENSE.md +0 -21
  992. package/node_modules/uuid/README.md +0 -132
  993. package/node_modules/uuid/bin/uuid +0 -26
  994. package/node_modules/uuid/index.js +0 -8
  995. package/node_modules/uuid/lib/bytesToUuid.js +0 -23
  996. package/node_modules/uuid/lib/rng-browser.js +0 -33
  997. package/node_modules/uuid/lib/rng.js +0 -10
  998. package/node_modules/uuid/package.json +0 -122
  999. package/node_modules/uuid/test/mocha.opts +0 -3
  1000. package/node_modules/uuid/test/test.js +0 -96
  1001. package/node_modules/uuid/v1.js +0 -103
  1002. package/node_modules/uuid/v4.js +0 -29
  1003. package/node_modules/verror/.gitmodules +0 -0
  1004. package/node_modules/verror/.npmignore +0 -1
  1005. package/node_modules/verror/LICENSE +0 -19
  1006. package/node_modules/verror/Makefile +0 -35
  1007. package/node_modules/verror/Makefile.targ +0 -285
  1008. package/node_modules/verror/README.md +0 -120
  1009. package/node_modules/verror/examples/levels-verror.js +0 -36
  1010. package/node_modules/verror/examples/levels-werror.js +0 -34
  1011. package/node_modules/verror/examples/varargs.js +0 -6
  1012. package/node_modules/verror/examples/verror.js +0 -13
  1013. package/node_modules/verror/examples/werror.js +0 -14
  1014. package/node_modules/verror/jsl.node.conf +0 -139
  1015. package/node_modules/verror/lib/verror.js +0 -157
  1016. package/node_modules/verror/package.json +0 -78
  1017. package/node_modules/verror/tests/tst.inherit.js +0 -100
  1018. package/node_modules/verror/tests/tst.verror.js +0 -156
  1019. package/node_modules/verror/tests/tst.werror.js +0 -179
  1020. package/node_modules/wide-align/.npmignore +0 -5
  1021. package/node_modules/wide-align/test/align.js +0 -37
  1022. package/node_modules/xtend/.jshintrc +0 -30
  1023. package/node_modules/xtend/.npmignore +0 -1
  1024. package/node_modules/xtend/Makefile +0 -4
  1025. package/node_modules/xtend/README.md +0 -32
  1026. package/node_modules/xtend/immutable.js +0 -19
  1027. package/node_modules/xtend/mutable.js +0 -17
  1028. package/node_modules/xtend/package.json +0 -117
  1029. package/node_modules/xtend/test.js +0 -83
@@ -0,0 +1,783 @@
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
+ };