node-datachannel 0.5.0-dev → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/CMakeLists.txt +2 -2
  2. package/examples/electron-demo/package-lock.json +164 -419
  3. package/examples/electron-demo/package.json +2 -2
  4. package/lib/index.d.ts +5 -0
  5. package/lib/index.js +33 -2
  6. package/package.json +3 -11
  7. package/polyfill/RTCDtlsTransport.js +30 -12
  8. package/polyfill/RTCIceCandidate.js +1 -1
  9. package/polyfill/RTCIceTransport.js +47 -21
  10. package/polyfill/RTCPeerConnection.js +46 -23
  11. package/polyfill/RTCSctpTransport.js +33 -14
  12. package/src/peer-connection-wrapper.cpp +50 -0
  13. package/src/peer-connection-wrapper.h +2 -0
  14. package/test/polyfill-connectivity.js +1 -0
  15. package/test/test.js +2 -2
  16. package/examples/build/Dockerfile +0 -30
  17. package/examples/build/README.md +0 -24
  18. package/node_modules/base64-js/LICENSE +0 -21
  19. package/node_modules/base64-js/README.md +0 -34
  20. package/node_modules/base64-js/base64js.min.js +0 -1
  21. package/node_modules/base64-js/index.d.ts +0 -3
  22. package/node_modules/base64-js/index.js +0 -150
  23. package/node_modules/base64-js/package.json +0 -47
  24. package/node_modules/buffer/AUTHORS.md +0 -70
  25. package/node_modules/buffer/LICENSE +0 -21
  26. package/node_modules/buffer/README.md +0 -410
  27. package/node_modules/buffer/index.d.ts +0 -186
  28. package/node_modules/buffer/index.js +0 -1817
  29. package/node_modules/buffer/package.json +0 -96
  30. package/node_modules/chownr/LICENSE +0 -15
  31. package/node_modules/chownr/README.md +0 -3
  32. package/node_modules/chownr/chownr.js +0 -167
  33. package/node_modules/chownr/package.json +0 -29
  34. package/node_modules/decompress-response/index.d.ts +0 -22
  35. package/node_modules/decompress-response/index.js +0 -58
  36. package/node_modules/decompress-response/license +0 -9
  37. package/node_modules/decompress-response/package.json +0 -56
  38. package/node_modules/decompress-response/readme.md +0 -48
  39. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  40. package/node_modules/deep-extend/LICENSE +0 -20
  41. package/node_modules/deep-extend/README.md +0 -91
  42. package/node_modules/deep-extend/index.js +0 -1
  43. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  44. package/node_modules/deep-extend/package.json +0 -62
  45. package/node_modules/detect-libc/LICENSE +0 -201
  46. package/node_modules/detect-libc/README.md +0 -163
  47. package/node_modules/detect-libc/index.d.ts +0 -14
  48. package/node_modules/detect-libc/lib/detect-libc.js +0 -279
  49. package/node_modules/detect-libc/lib/filesystem.js +0 -41
  50. package/node_modules/detect-libc/lib/process.js +0 -19
  51. package/node_modules/detect-libc/package.json +0 -40
  52. package/node_modules/end-of-stream/LICENSE +0 -21
  53. package/node_modules/end-of-stream/README.md +0 -54
  54. package/node_modules/end-of-stream/index.js +0 -94
  55. package/node_modules/end-of-stream/package.json +0 -37
  56. package/node_modules/expand-template/.travis.yml +0 -6
  57. package/node_modules/expand-template/LICENSE +0 -21
  58. package/node_modules/expand-template/README.md +0 -43
  59. package/node_modules/expand-template/index.js +0 -26
  60. package/node_modules/expand-template/package.json +0 -29
  61. package/node_modules/expand-template/test.js +0 -67
  62. package/node_modules/fs-constants/LICENSE +0 -21
  63. package/node_modules/fs-constants/README.md +0 -26
  64. package/node_modules/fs-constants/browser.js +0 -1
  65. package/node_modules/fs-constants/index.js +0 -1
  66. package/node_modules/fs-constants/package.json +0 -19
  67. package/node_modules/github-from-package/.travis.yml +0 -4
  68. package/node_modules/github-from-package/LICENSE +0 -18
  69. package/node_modules/github-from-package/example/package.json +0 -8
  70. package/node_modules/github-from-package/example/url.js +0 -3
  71. package/node_modules/github-from-package/index.js +0 -17
  72. package/node_modules/github-from-package/package.json +0 -30
  73. package/node_modules/github-from-package/readme.markdown +0 -53
  74. package/node_modules/github-from-package/test/a.json +0 -8
  75. package/node_modules/github-from-package/test/b.json +0 -5
  76. package/node_modules/github-from-package/test/c.json +0 -5
  77. package/node_modules/github-from-package/test/d.json +0 -7
  78. package/node_modules/github-from-package/test/e.json +0 -5
  79. package/node_modules/github-from-package/test/url.js +0 -19
  80. package/node_modules/ieee754/LICENSE +0 -11
  81. package/node_modules/ieee754/README.md +0 -51
  82. package/node_modules/ieee754/index.d.ts +0 -10
  83. package/node_modules/ieee754/index.js +0 -85
  84. package/node_modules/ieee754/package.json +0 -52
  85. package/node_modules/inherits/LICENSE +0 -16
  86. package/node_modules/inherits/README.md +0 -42
  87. package/node_modules/inherits/inherits.js +0 -9
  88. package/node_modules/inherits/inherits_browser.js +0 -27
  89. package/node_modules/inherits/package.json +0 -29
  90. package/node_modules/ini/LICENSE +0 -15
  91. package/node_modules/ini/README.md +0 -102
  92. package/node_modules/ini/ini.js +0 -206
  93. package/node_modules/ini/package.json +0 -33
  94. package/node_modules/mimic-response/index.d.ts +0 -17
  95. package/node_modules/mimic-response/index.js +0 -77
  96. package/node_modules/mimic-response/license +0 -9
  97. package/node_modules/mimic-response/package.json +0 -42
  98. package/node_modules/mimic-response/readme.md +0 -78
  99. package/node_modules/minimist/.eslintrc +0 -29
  100. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  101. package/node_modules/minimist/.nycrc +0 -14
  102. package/node_modules/minimist/CHANGELOG.md +0 -298
  103. package/node_modules/minimist/LICENSE +0 -18
  104. package/node_modules/minimist/README.md +0 -121
  105. package/node_modules/minimist/example/parse.js +0 -4
  106. package/node_modules/minimist/index.js +0 -263
  107. package/node_modules/minimist/package.json +0 -75
  108. package/node_modules/minimist/test/all_bool.js +0 -34
  109. package/node_modules/minimist/test/bool.js +0 -177
  110. package/node_modules/minimist/test/dash.js +0 -43
  111. package/node_modules/minimist/test/default_bool.js +0 -37
  112. package/node_modules/minimist/test/dotted.js +0 -24
  113. package/node_modules/minimist/test/kv_short.js +0 -32
  114. package/node_modules/minimist/test/long.js +0 -33
  115. package/node_modules/minimist/test/num.js +0 -38
  116. package/node_modules/minimist/test/parse.js +0 -209
  117. package/node_modules/minimist/test/parse_modified.js +0 -11
  118. package/node_modules/minimist/test/proto.js +0 -64
  119. package/node_modules/minimist/test/short.js +0 -69
  120. package/node_modules/minimist/test/stop_early.js +0 -17
  121. package/node_modules/minimist/test/unknown.js +0 -104
  122. package/node_modules/minimist/test/whitespace.js +0 -10
  123. package/node_modules/mkdirp-classic/LICENSE +0 -21
  124. package/node_modules/mkdirp-classic/README.md +0 -18
  125. package/node_modules/mkdirp-classic/index.js +0 -98
  126. package/node_modules/mkdirp-classic/package.json +0 -18
  127. package/node_modules/napi-build-utils/LICENSE +0 -21
  128. package/node_modules/napi-build-utils/README.md +0 -48
  129. package/node_modules/napi-build-utils/index.js +0 -213
  130. package/node_modules/napi-build-utils/index.md +0 -81
  131. package/node_modules/napi-build-utils/package.json +0 -41
  132. package/node_modules/node-abi/LICENSE +0 -21
  133. package/node_modules/node-abi/README.md +0 -52
  134. package/node_modules/node-abi/abi_registry.json +0 -276
  135. package/node_modules/node-abi/index.js +0 -179
  136. package/node_modules/node-abi/package.json +0 -41
  137. package/node_modules/once/LICENSE +0 -15
  138. package/node_modules/once/README.md +0 -79
  139. package/node_modules/once/once.js +0 -42
  140. package/node_modules/once/package.json +0 -33
  141. package/node_modules/prebuild-install/CHANGELOG.md +0 -116
  142. package/node_modules/prebuild-install/CONTRIBUTING.md +0 -6
  143. package/node_modules/prebuild-install/LICENSE +0 -21
  144. package/node_modules/prebuild-install/README.md +0 -163
  145. package/node_modules/prebuild-install/asset.js +0 -44
  146. package/node_modules/prebuild-install/bin.js +0 -78
  147. package/node_modules/prebuild-install/download.js +0 -142
  148. package/node_modules/prebuild-install/error.js +0 -14
  149. package/node_modules/prebuild-install/help.txt +0 -16
  150. package/node_modules/prebuild-install/index.js +0 -1
  151. package/node_modules/prebuild-install/log.js +0 -33
  152. package/node_modules/prebuild-install/package.json +0 -67
  153. package/node_modules/prebuild-install/proxy.js +0 -35
  154. package/node_modules/prebuild-install/rc.js +0 -64
  155. package/node_modules/prebuild-install/util.js +0 -143
  156. package/node_modules/pump/.travis.yml +0 -5
  157. package/node_modules/pump/LICENSE +0 -21
  158. package/node_modules/pump/README.md +0 -65
  159. package/node_modules/pump/index.js +0 -82
  160. package/node_modules/pump/package.json +0 -24
  161. package/node_modules/pump/test-browser.js +0 -66
  162. package/node_modules/pump/test-node.js +0 -53
  163. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  164. package/node_modules/rc/LICENSE.BSD +0 -26
  165. package/node_modules/rc/LICENSE.MIT +0 -24
  166. package/node_modules/rc/README.md +0 -227
  167. package/node_modules/rc/browser.js +0 -7
  168. package/node_modules/rc/cli.js +0 -4
  169. package/node_modules/rc/index.js +0 -53
  170. package/node_modules/rc/lib/utils.js +0 -104
  171. package/node_modules/rc/node_modules/strip-json-comments/index.js +0 -70
  172. package/node_modules/rc/node_modules/strip-json-comments/license +0 -21
  173. package/node_modules/rc/node_modules/strip-json-comments/package.json +0 -42
  174. package/node_modules/rc/node_modules/strip-json-comments/readme.md +0 -64
  175. package/node_modules/rc/package.json +0 -29
  176. package/node_modules/rc/test/ini.js +0 -16
  177. package/node_modules/rc/test/nested-env-vars.js +0 -50
  178. package/node_modules/rc/test/test.js +0 -59
  179. package/node_modules/safe-buffer/LICENSE +0 -21
  180. package/node_modules/safe-buffer/README.md +0 -584
  181. package/node_modules/safe-buffer/index.d.ts +0 -187
  182. package/node_modules/safe-buffer/index.js +0 -65
  183. package/node_modules/safe-buffer/package.json +0 -51
  184. package/node_modules/semver/LICENSE +0 -15
  185. package/node_modules/semver/README.md +0 -637
  186. package/node_modules/semver/bin/semver.js +0 -197
  187. package/node_modules/semver/classes/comparator.js +0 -141
  188. package/node_modules/semver/classes/index.js +0 -5
  189. package/node_modules/semver/classes/range.js +0 -539
  190. package/node_modules/semver/classes/semver.js +0 -302
  191. package/node_modules/semver/functions/clean.js +0 -6
  192. package/node_modules/semver/functions/cmp.js +0 -52
  193. package/node_modules/semver/functions/coerce.js +0 -52
  194. package/node_modules/semver/functions/compare-build.js +0 -7
  195. package/node_modules/semver/functions/compare-loose.js +0 -3
  196. package/node_modules/semver/functions/compare.js +0 -5
  197. package/node_modules/semver/functions/diff.js +0 -65
  198. package/node_modules/semver/functions/eq.js +0 -3
  199. package/node_modules/semver/functions/gt.js +0 -3
  200. package/node_modules/semver/functions/gte.js +0 -3
  201. package/node_modules/semver/functions/inc.js +0 -19
  202. package/node_modules/semver/functions/lt.js +0 -3
  203. package/node_modules/semver/functions/lte.js +0 -3
  204. package/node_modules/semver/functions/major.js +0 -3
  205. package/node_modules/semver/functions/minor.js +0 -3
  206. package/node_modules/semver/functions/neq.js +0 -3
  207. package/node_modules/semver/functions/parse.js +0 -16
  208. package/node_modules/semver/functions/patch.js +0 -3
  209. package/node_modules/semver/functions/prerelease.js +0 -6
  210. package/node_modules/semver/functions/rcompare.js +0 -3
  211. package/node_modules/semver/functions/rsort.js +0 -3
  212. package/node_modules/semver/functions/satisfies.js +0 -10
  213. package/node_modules/semver/functions/sort.js +0 -3
  214. package/node_modules/semver/functions/valid.js +0 -6
  215. package/node_modules/semver/index.js +0 -89
  216. package/node_modules/semver/internal/constants.js +0 -35
  217. package/node_modules/semver/internal/debug.js +0 -9
  218. package/node_modules/semver/internal/identifiers.js +0 -23
  219. package/node_modules/semver/internal/parse-options.js +0 -15
  220. package/node_modules/semver/internal/re.js +0 -212
  221. package/node_modules/semver/node_modules/lru-cache/LICENSE +0 -15
  222. package/node_modules/semver/node_modules/lru-cache/README.md +0 -166
  223. package/node_modules/semver/node_modules/lru-cache/index.js +0 -334
  224. package/node_modules/semver/node_modules/lru-cache/package.json +0 -34
  225. package/node_modules/semver/node_modules/yallist/LICENSE +0 -15
  226. package/node_modules/semver/node_modules/yallist/README.md +0 -204
  227. package/node_modules/semver/node_modules/yallist/iterator.js +0 -8
  228. package/node_modules/semver/node_modules/yallist/package.json +0 -29
  229. package/node_modules/semver/node_modules/yallist/yallist.js +0 -426
  230. package/node_modules/semver/package.json +0 -87
  231. package/node_modules/semver/preload.js +0 -2
  232. package/node_modules/semver/range.bnf +0 -16
  233. package/node_modules/semver/ranges/gtr.js +0 -4
  234. package/node_modules/semver/ranges/intersects.js +0 -7
  235. package/node_modules/semver/ranges/ltr.js +0 -4
  236. package/node_modules/semver/ranges/max-satisfying.js +0 -25
  237. package/node_modules/semver/ranges/min-satisfying.js +0 -24
  238. package/node_modules/semver/ranges/min-version.js +0 -61
  239. package/node_modules/semver/ranges/outside.js +0 -80
  240. package/node_modules/semver/ranges/simplify.js +0 -47
  241. package/node_modules/semver/ranges/subset.js +0 -247
  242. package/node_modules/semver/ranges/to-comparators.js +0 -8
  243. package/node_modules/semver/ranges/valid.js +0 -11
  244. package/node_modules/simple-concat/.travis.yml +0 -3
  245. package/node_modules/simple-concat/LICENSE +0 -20
  246. package/node_modules/simple-concat/README.md +0 -44
  247. package/node_modules/simple-concat/index.js +0 -15
  248. package/node_modules/simple-concat/package.json +0 -47
  249. package/node_modules/simple-concat/test/basic.js +0 -41
  250. package/node_modules/simple-get/.github/dependabot.yml +0 -15
  251. package/node_modules/simple-get/.github/workflows/ci.yml +0 -23
  252. package/node_modules/simple-get/LICENSE +0 -20
  253. package/node_modules/simple-get/README.md +0 -333
  254. package/node_modules/simple-get/index.js +0 -108
  255. package/node_modules/simple-get/package.json +0 -67
  256. package/node_modules/tar-fs/.travis.yml +0 -6
  257. package/node_modules/tar-fs/LICENSE +0 -21
  258. package/node_modules/tar-fs/README.md +0 -165
  259. package/node_modules/tar-fs/index.js +0 -351
  260. package/node_modules/tar-fs/node_modules/bl/.travis.yml +0 -17
  261. package/node_modules/tar-fs/node_modules/bl/BufferList.js +0 -396
  262. package/node_modules/tar-fs/node_modules/bl/LICENSE.md +0 -13
  263. package/node_modules/tar-fs/node_modules/bl/README.md +0 -247
  264. package/node_modules/tar-fs/node_modules/bl/bl.js +0 -84
  265. package/node_modules/tar-fs/node_modules/bl/package.json +0 -37
  266. package/node_modules/tar-fs/node_modules/bl/test/convert.js +0 -21
  267. package/node_modules/tar-fs/node_modules/bl/test/indexOf.js +0 -492
  268. package/node_modules/tar-fs/node_modules/bl/test/isBufferList.js +0 -32
  269. package/node_modules/tar-fs/node_modules/bl/test/test.js +0 -869
  270. package/node_modules/tar-fs/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  271. package/node_modules/tar-fs/node_modules/readable-stream/GOVERNANCE.md +0 -136
  272. package/node_modules/tar-fs/node_modules/readable-stream/LICENSE +0 -47
  273. package/node_modules/tar-fs/node_modules/readable-stream/README.md +0 -106
  274. package/node_modules/tar-fs/node_modules/readable-stream/errors-browser.js +0 -127
  275. package/node_modules/tar-fs/node_modules/readable-stream/errors.js +0 -116
  276. package/node_modules/tar-fs/node_modules/readable-stream/experimentalWarning.js +0 -17
  277. package/node_modules/tar-fs/node_modules/readable-stream/lib/_stream_duplex.js +0 -126
  278. package/node_modules/tar-fs/node_modules/readable-stream/lib/_stream_passthrough.js +0 -37
  279. package/node_modules/tar-fs/node_modules/readable-stream/lib/_stream_readable.js +0 -1027
  280. package/node_modules/tar-fs/node_modules/readable-stream/lib/_stream_transform.js +0 -190
  281. package/node_modules/tar-fs/node_modules/readable-stream/lib/_stream_writable.js +0 -641
  282. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
  283. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/buffer_list.js +0 -183
  284. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -96
  285. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +0 -86
  286. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
  287. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/from.js +0 -52
  288. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/pipeline.js +0 -86
  289. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/state.js +0 -22
  290. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  291. package/node_modules/tar-fs/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  292. package/node_modules/tar-fs/node_modules/readable-stream/package.json +0 -68
  293. package/node_modules/tar-fs/node_modules/readable-stream/readable-browser.js +0 -9
  294. package/node_modules/tar-fs/node_modules/readable-stream/readable.js +0 -16
  295. package/node_modules/tar-fs/node_modules/string_decoder/LICENSE +0 -48
  296. package/node_modules/tar-fs/node_modules/string_decoder/README.md +0 -47
  297. package/node_modules/tar-fs/node_modules/string_decoder/lib/string_decoder.js +0 -296
  298. package/node_modules/tar-fs/node_modules/string_decoder/package.json +0 -34
  299. package/node_modules/tar-fs/node_modules/tar-stream/LICENSE +0 -21
  300. package/node_modules/tar-fs/node_modules/tar-stream/README.md +0 -168
  301. package/node_modules/tar-fs/node_modules/tar-stream/extract.js +0 -257
  302. package/node_modules/tar-fs/node_modules/tar-stream/headers.js +0 -295
  303. package/node_modules/tar-fs/node_modules/tar-stream/index.js +0 -2
  304. package/node_modules/tar-fs/node_modules/tar-stream/pack.js +0 -255
  305. package/node_modules/tar-fs/node_modules/tar-stream/package.json +0 -58
  306. package/node_modules/tar-fs/node_modules/tar-stream/sandbox.js +0 -11
  307. package/node_modules/tar-fs/package.json +0 -41
  308. package/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
  309. package/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
  310. package/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  311. package/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  312. package/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  313. package/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  314. package/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  315. package/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  316. package/node_modules/tar-fs/test/fixtures/e/file +0 -0
  317. package/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  318. package/node_modules/tar-fs/test/index.js +0 -346
  319. package/node_modules/tunnel-agent/LICENSE +0 -55
  320. package/node_modules/tunnel-agent/README.md +0 -4
  321. package/node_modules/tunnel-agent/index.js +0 -244
  322. package/node_modules/tunnel-agent/package.json +0 -22
  323. package/node_modules/util-deprecate/History.md +0 -16
  324. package/node_modules/util-deprecate/LICENSE +0 -24
  325. package/node_modules/util-deprecate/README.md +0 -53
  326. package/node_modules/util-deprecate/browser.js +0 -67
  327. package/node_modules/util-deprecate/node.js +0 -6
  328. package/node_modules/util-deprecate/package.json +0 -27
  329. package/node_modules/wrappy/LICENSE +0 -15
  330. package/node_modules/wrappy/README.md +0 -36
  331. package/node_modules/wrappy/package.json +0 -29
  332. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,333 +0,0 @@
1
- # simple-get [![ci][ci-image]][ci-url] [![npm][npm-image]][npm-url] [![downloads][downloads-image]][downloads-url] [![javascript style guide][standard-image]][standard-url]
2
-
3
- [ci-image]: https://img.shields.io/github/workflow/status/feross/simple-get/ci/master
4
- [ci-url]: https://github.com/feross/simple-get/actions
5
- [npm-image]: https://img.shields.io/npm/v/simple-get.svg
6
- [npm-url]: https://npmjs.org/package/simple-get
7
- [downloads-image]: https://img.shields.io/npm/dm/simple-get.svg
8
- [downloads-url]: https://npmjs.org/package/simple-get
9
- [standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
10
- [standard-url]: https://standardjs.com
11
-
12
- ### Simplest way to make http get requests
13
-
14
- ## features
15
-
16
- This module is the lightest possible wrapper on top of node.js `http`, but supporting these essential features:
17
-
18
- - follows redirects
19
- - automatically handles gzip/deflate responses
20
- - supports HTTPS
21
- - supports specifying a timeout
22
- - supports convenience `url` key so there's no need to use `url.parse` on the url when specifying options
23
- - composes well with npm packages for features like cookies, proxies, form data, & OAuth
24
-
25
- All this in < 100 lines of code.
26
-
27
- ## install
28
-
29
- ```
30
- npm install simple-get
31
- ```
32
-
33
- ## usage
34
-
35
- Note, all these examples also work in the browser with [browserify](http://browserify.org/).
36
-
37
- ### simple GET request
38
-
39
- Doesn't get easier than this:
40
-
41
- ```js
42
- const get = require('simple-get')
43
-
44
- get('http://example.com', function (err, res) {
45
- if (err) throw err
46
- console.log(res.statusCode) // 200
47
- res.pipe(process.stdout) // `res` is a stream
48
- })
49
- ```
50
-
51
- ### even simpler GET request
52
-
53
- If you just want the data, and don't want to deal with streams:
54
-
55
- ```js
56
- const get = require('simple-get')
57
-
58
- get.concat('http://example.com', function (err, res, data) {
59
- if (err) throw err
60
- console.log(res.statusCode) // 200
61
- console.log(data) // Buffer('this is the server response')
62
- })
63
- ```
64
-
65
- ### POST, PUT, PATCH, HEAD, DELETE support
66
-
67
- For `POST`, call `get.post` or use option `{ method: 'POST' }`.
68
-
69
- ```js
70
- const get = require('simple-get')
71
-
72
- const opts = {
73
- url: 'http://example.com',
74
- body: 'this is the POST body'
75
- }
76
- get.post(opts, function (err, res) {
77
- if (err) throw err
78
- res.pipe(process.stdout) // `res` is a stream
79
- })
80
- ```
81
-
82
- #### A more complex example:
83
-
84
- ```js
85
- const get = require('simple-get')
86
-
87
- get({
88
- url: 'http://example.com',
89
- method: 'POST',
90
- body: 'this is the POST body',
91
-
92
- // simple-get accepts all options that node.js `http` accepts
93
- // See: http://nodejs.org/api/http.html#http_http_request_options_callback
94
- headers: {
95
- 'user-agent': 'my cool app'
96
- }
97
- }, function (err, res) {
98
- if (err) throw err
99
-
100
- // All properties/methods from http.IncomingResponse are available,
101
- // even if a gunzip/inflate transform stream was returned.
102
- // See: http://nodejs.org/api/http.html#http_http_incomingmessage
103
- res.setTimeout(10000)
104
- console.log(res.headers)
105
-
106
- res.on('data', function (chunk) {
107
- // `chunk` is the decoded response, after it's been gunzipped or inflated
108
- // (if applicable)
109
- console.log('got a chunk of the response: ' + chunk)
110
- }))
111
-
112
- })
113
- ```
114
-
115
- ### JSON
116
-
117
- You can serialize/deserialize request and response with JSON:
118
-
119
- ```js
120
- const get = require('simple-get')
121
-
122
- const opts = {
123
- method: 'POST',
124
- url: 'http://example.com',
125
- body: {
126
- key: 'value'
127
- },
128
- json: true
129
- }
130
- get.concat(opts, function (err, res, data) {
131
- if (err) throw err
132
- console.log(data.key) // `data` is an object
133
- })
134
- ```
135
-
136
- ### Timeout
137
-
138
- You can set a timeout (in milliseconds) on the request with the `timeout` option.
139
- If the request takes longer than `timeout` to complete, then the entire request
140
- will fail with an `Error`.
141
-
142
- ```js
143
- const get = require('simple-get')
144
-
145
- const opts = {
146
- url: 'http://example.com',
147
- timeout: 2000 // 2 second timeout
148
- }
149
-
150
- get(opts, function (err, res) {})
151
- ```
152
-
153
- ### One Quick Tip
154
-
155
- It's a good idea to set the `'user-agent'` header so the provider can more easily
156
- see how their resource is used.
157
-
158
- ```js
159
- const get = require('simple-get')
160
- const pkg = require('./package.json')
161
-
162
- get('http://example.com', {
163
- headers: {
164
- 'user-agent': `my-module/${pkg.version} (https://github.com/username/my-module)`
165
- }
166
- })
167
- ```
168
-
169
- ### Proxies
170
-
171
- You can use the [`tunnel`](https://github.com/koichik/node-tunnel) module with the
172
- `agent` option to work with proxies:
173
-
174
- ```js
175
- const get = require('simple-get')
176
- const tunnel = require('tunnel')
177
-
178
- const opts = {
179
- url: 'http://example.com',
180
- agent: tunnel.httpOverHttp({
181
- proxy: {
182
- host: 'localhost'
183
- }
184
- })
185
- }
186
-
187
- get(opts, function (err, res) {})
188
- ```
189
-
190
- ### Cookies
191
-
192
- You can use the [`cookie`](https://github.com/jshttp/cookie) module to include
193
- cookies in a request:
194
-
195
- ```js
196
- const get = require('simple-get')
197
- const cookie = require('cookie')
198
-
199
- const opts = {
200
- url: 'http://example.com',
201
- headers: {
202
- cookie: cookie.serialize('foo', 'bar')
203
- }
204
- }
205
-
206
- get(opts, function (err, res) {})
207
- ```
208
-
209
- ### Form data
210
-
211
- You can use the [`form-data`](https://github.com/form-data/form-data) module to
212
- create POST request with form data:
213
-
214
- ```js
215
- const fs = require('fs')
216
- const get = require('simple-get')
217
- const FormData = require('form-data')
218
- const form = new FormData()
219
-
220
- form.append('my_file', fs.createReadStream('/foo/bar.jpg'))
221
-
222
- const opts = {
223
- url: 'http://example.com',
224
- body: form
225
- }
226
-
227
- get.post(opts, function (err, res) {})
228
- ```
229
-
230
- #### Or, include `application/x-www-form-urlencoded` form data manually:
231
-
232
- ```js
233
- const get = require('simple-get')
234
-
235
- const opts = {
236
- url: 'http://example.com',
237
- form: {
238
- key: 'value'
239
- }
240
- }
241
- get.post(opts, function (err, res) {})
242
- ```
243
-
244
- ### Specifically disallowing redirects
245
-
246
- ```js
247
- const get = require('simple-get')
248
-
249
- const opts = {
250
- url: 'http://example.com/will-redirect-elsewhere',
251
- followRedirects: false
252
- }
253
- // res.statusCode will be 301, no error thrown
254
- get(opts, function (err, res) {})
255
- ```
256
-
257
- ### Basic Auth
258
-
259
- ```js
260
- const user = 'someuser'
261
- const pass = 'pa$$word'
262
- const encodedAuth = Buffer.from(`${user}:${pass}`).toString('base64')
263
-
264
- get('http://example.com', {
265
- headers: {
266
- authorization: `Basic ${encodedAuth}`
267
- }
268
- })
269
- ```
270
-
271
- ### OAuth
272
-
273
- You can use the [`oauth-1.0a`](https://github.com/ddo/oauth-1.0a) module to create
274
- a signed OAuth request:
275
-
276
- ```js
277
- const get = require('simple-get')
278
- const crypto = require('crypto')
279
- const OAuth = require('oauth-1.0a')
280
-
281
- const oauth = OAuth({
282
- consumer: {
283
- key: process.env.CONSUMER_KEY,
284
- secret: process.env.CONSUMER_SECRET
285
- },
286
- signature_method: 'HMAC-SHA1',
287
- hash_function: (baseString, key) => crypto.createHmac('sha1', key).update(baseString).digest('base64')
288
- })
289
-
290
- const token = {
291
- key: process.env.ACCESS_TOKEN,
292
- secret: process.env.ACCESS_TOKEN_SECRET
293
- }
294
-
295
- const url = 'https://api.twitter.com/1.1/statuses/home_timeline.json'
296
-
297
- const opts = {
298
- url: url,
299
- headers: oauth.toHeader(oauth.authorize({url, method: 'GET'}, token)),
300
- json: true
301
- }
302
-
303
- get(opts, function (err, res) {})
304
- ```
305
-
306
- ### Throttle requests
307
-
308
- You can use [limiter](https://github.com/jhurliman/node-rate-limiter) to throttle requests. This is useful when calling an API that is rate limited.
309
-
310
- ```js
311
- const simpleGet = require('simple-get')
312
- const RateLimiter = require('limiter').RateLimiter
313
- const limiter = new RateLimiter(1, 'second')
314
-
315
- const get = (opts, cb) => limiter.removeTokens(1, () => simpleGet(opts, cb))
316
- get.concat = (opts, cb) => limiter.removeTokens(1, () => simpleGet.concat(opts, cb))
317
-
318
- var opts = {
319
- url: 'http://example.com'
320
- }
321
-
322
- get.concat(opts, processResult)
323
- get.concat(opts, processResult)
324
-
325
- function processResult (err, res, data) {
326
- if (err) throw err
327
- console.log(data.toString())
328
- }
329
- ```
330
-
331
- ## license
332
-
333
- MIT. Copyright (c) [Feross Aboukhadijeh](http://feross.org).
@@ -1,108 +0,0 @@
1
- /*! simple-get. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
2
- module.exports = simpleGet
3
-
4
- const concat = require('simple-concat')
5
- const decompressResponse = require('decompress-response') // excluded from browser build
6
- const http = require('http')
7
- const https = require('https')
8
- const once = require('once')
9
- const querystring = require('querystring')
10
- const url = require('url')
11
-
12
- const isStream = o => o !== null && typeof o === 'object' && typeof o.pipe === 'function'
13
-
14
- function simpleGet (opts, cb) {
15
- opts = Object.assign({ maxRedirects: 10 }, typeof opts === 'string' ? { url: opts } : opts)
16
- cb = once(cb)
17
-
18
- if (opts.url) {
19
- const { hostname, port, protocol, auth, path } = url.parse(opts.url) // eslint-disable-line node/no-deprecated-api
20
- delete opts.url
21
- if (!hostname && !port && !protocol && !auth) opts.path = path // Relative redirect
22
- else Object.assign(opts, { hostname, port, protocol, auth, path }) // Absolute redirect
23
- }
24
-
25
- const headers = { 'accept-encoding': 'gzip, deflate' }
26
- if (opts.headers) Object.keys(opts.headers).forEach(k => (headers[k.toLowerCase()] = opts.headers[k]))
27
- opts.headers = headers
28
-
29
- let body
30
- if (opts.body) {
31
- body = opts.json && !isStream(opts.body) ? JSON.stringify(opts.body) : opts.body
32
- } else if (opts.form) {
33
- body = typeof opts.form === 'string' ? opts.form : querystring.stringify(opts.form)
34
- opts.headers['content-type'] = 'application/x-www-form-urlencoded'
35
- }
36
-
37
- if (body) {
38
- if (!opts.method) opts.method = 'POST'
39
- if (!isStream(body)) opts.headers['content-length'] = Buffer.byteLength(body)
40
- if (opts.json && !opts.form) opts.headers['content-type'] = 'application/json'
41
- }
42
- delete opts.body; delete opts.form
43
-
44
- if (opts.json) opts.headers.accept = 'application/json'
45
- if (opts.method) opts.method = opts.method.toUpperCase()
46
-
47
- const originalHost = opts.hostname // hostname before potential redirect
48
- const protocol = opts.protocol === 'https:' ? https : http // Support http/https urls
49
- const req = protocol.request(opts, res => {
50
- if (opts.followRedirects !== false && res.statusCode >= 300 && res.statusCode < 400 && res.headers.location) {
51
- opts.url = res.headers.location // Follow 3xx redirects
52
- delete opts.headers.host // Discard `host` header on redirect (see #32)
53
- res.resume() // Discard response
54
-
55
- const redirectHost = url.parse(opts.url).hostname // eslint-disable-line node/no-deprecated-api
56
- // If redirected host is different than original host, drop headers to prevent cookie leak (#73)
57
- if (redirectHost !== null && redirectHost !== originalHost) {
58
- delete opts.headers.cookie
59
- delete opts.headers.authorization
60
- }
61
-
62
- if (opts.method === 'POST' && [301, 302].includes(res.statusCode)) {
63
- opts.method = 'GET' // On 301/302 redirect, change POST to GET (see #35)
64
- delete opts.headers['content-length']; delete opts.headers['content-type']
65
- }
66
-
67
- if (opts.maxRedirects-- === 0) return cb(new Error('too many redirects'))
68
- else return simpleGet(opts, cb)
69
- }
70
-
71
- const tryUnzip = typeof decompressResponse === 'function' && opts.method !== 'HEAD'
72
- cb(null, tryUnzip ? decompressResponse(res) : res)
73
- })
74
- req.on('timeout', () => {
75
- req.abort()
76
- cb(new Error('Request timed out'))
77
- })
78
- req.on('error', cb)
79
-
80
- if (isStream(body)) body.on('error', cb).pipe(req)
81
- else req.end(body)
82
-
83
- return req
84
- }
85
-
86
- simpleGet.concat = (opts, cb) => {
87
- return simpleGet(opts, (err, res) => {
88
- if (err) return cb(err)
89
- concat(res, (err, data) => {
90
- if (err) return cb(err)
91
- if (opts.json) {
92
- try {
93
- data = JSON.parse(data.toString())
94
- } catch (err) {
95
- return cb(err, res, data)
96
- }
97
- }
98
- cb(null, res, data)
99
- })
100
- })
101
- }
102
-
103
- ;['get', 'post', 'put', 'patch', 'head', 'delete'].forEach(method => {
104
- simpleGet[method] = (opts, cb) => {
105
- if (typeof opts === 'string') opts = { url: opts }
106
- return simpleGet(Object.assign({ method: method.toUpperCase() }, opts), cb)
107
- }
108
- })
@@ -1,67 +0,0 @@
1
- {
2
- "name": "simple-get",
3
- "description": "Simplest way to make http get requests. Supports HTTPS, redirects, gzip/deflate, streams in < 100 lines.",
4
- "version": "4.0.1",
5
- "author": {
6
- "name": "Feross Aboukhadijeh",
7
- "email": "feross@feross.org",
8
- "url": "https://feross.org"
9
- },
10
- "browser": {
11
- "decompress-response": false
12
- },
13
- "bugs": {
14
- "url": "https://github.com/feross/simple-get/issues"
15
- },
16
- "dependencies": {
17
- "decompress-response": "^6.0.0",
18
- "once": "^1.3.1",
19
- "simple-concat": "^1.0.0"
20
- },
21
- "devDependencies": {
22
- "self-signed-https": "^1.0.5",
23
- "standard": "*",
24
- "string-to-stream": "^3.0.0",
25
- "tape": "^5.0.0"
26
- },
27
- "homepage": "https://github.com/feross/simple-get",
28
- "keywords": [
29
- "request",
30
- "http",
31
- "GET",
32
- "get request",
33
- "http.get",
34
- "redirects",
35
- "follow redirects",
36
- "gzip",
37
- "deflate",
38
- "https",
39
- "http-https",
40
- "stream",
41
- "simple request",
42
- "simple get"
43
- ],
44
- "license": "MIT",
45
- "main": "index.js",
46
- "repository": {
47
- "type": "git",
48
- "url": "git://github.com/feross/simple-get.git"
49
- },
50
- "scripts": {
51
- "test": "standard && tape test/*.js"
52
- },
53
- "funding": [
54
- {
55
- "type": "github",
56
- "url": "https://github.com/sponsors/feross"
57
- },
58
- {
59
- "type": "patreon",
60
- "url": "https://www.patreon.com/feross"
61
- },
62
- {
63
- "type": "consulting",
64
- "url": "https://feross.org/support"
65
- }
66
- ]
67
- }
@@ -1,6 +0,0 @@
1
- language: node_js
2
- node_js:
3
- - 8
4
- - 10
5
- - 12
6
- - 14
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2014 Mathias Buus
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
@@ -1,165 +0,0 @@
1
- # tar-fs
2
-
3
- filesystem bindings for [tar-stream](https://github.com/mafintosh/tar-stream).
4
-
5
- ```
6
- npm install tar-fs
7
- ```
8
-
9
- [![build status](https://secure.travis-ci.org/mafintosh/tar-fs.png)](http://travis-ci.org/mafintosh/tar-fs)
10
-
11
- ## Usage
12
-
13
- tar-fs allows you to pack directories into tarballs and extract tarballs into directories.
14
-
15
- It doesn't gunzip for you, so if you want to extract a `.tar.gz` with this you'll need to use something like [gunzip-maybe](https://github.com/mafintosh/gunzip-maybe) in addition to this.
16
-
17
- ``` js
18
- var tar = require('tar-fs')
19
- var fs = require('fs')
20
-
21
- // packing a directory
22
- tar.pack('./my-directory').pipe(fs.createWriteStream('my-tarball.tar'))
23
-
24
- // extracting a directory
25
- fs.createReadStream('my-other-tarball.tar').pipe(tar.extract('./my-other-directory'))
26
- ```
27
-
28
- To ignore various files when packing or extracting add a ignore function to the options. `ignore`
29
- is also an alias for `filter`. Additionally you get `header` if you use ignore while extracting.
30
- That way you could also filter by metadata.
31
-
32
- ``` js
33
- var pack = tar.pack('./my-directory', {
34
- ignore: function(name) {
35
- return path.extname(name) === '.bin' // ignore .bin files when packing
36
- }
37
- })
38
-
39
- var extract = tar.extract('./my-other-directory', {
40
- ignore: function(name) {
41
- return path.extname(name) === '.bin' // ignore .bin files inside the tarball when extracing
42
- }
43
- })
44
-
45
- var extractFilesDirs = tar.extract('./my-other-other-directory', {
46
- ignore: function(_, header) {
47
- // pass files & directories, ignore e.g. symlinks
48
- return header.type !== 'file' && header.type !== 'directory'
49
- }
50
- })
51
- ```
52
-
53
- You can also specify which entries to pack using the `entries` option
54
-
55
- ```js
56
- var pack = tar.pack('./my-directory', {
57
- entries: ['file1', 'subdir/file2'] // only the specific entries will be packed
58
- })
59
- ```
60
-
61
- If you want to modify the headers when packing/extracting add a map function to the options
62
-
63
- ``` js
64
- var pack = tar.pack('./my-directory', {
65
- map: function(header) {
66
- header.name = 'prefixed/'+header.name
67
- return header
68
- }
69
- })
70
-
71
- var extract = tar.extract('./my-directory', {
72
- map: function(header) {
73
- header.name = 'another-prefix/'+header.name
74
- return header
75
- }
76
- })
77
- ```
78
-
79
- Similarly you can use `mapStream` incase you wanna modify the input/output file streams
80
-
81
- ``` js
82
- var pack = tar.pack('./my-directory', {
83
- mapStream: function(fileStream, header) {
84
- // NOTE: the returned stream HAS to have the same length as the input stream.
85
- // If not make sure to update the size in the header passed in here.
86
- if (path.extname(header.name) === '.js') {
87
- return fileStream.pipe(someTransform)
88
- }
89
- return fileStream;
90
- }
91
- })
92
-
93
- var extract = tar.extract('./my-directory', {
94
- mapStream: function(fileStream, header) {
95
- if (path.extname(header.name) === '.js') {
96
- return fileStream.pipe(someTransform)
97
- }
98
- return fileStream;
99
- }
100
- })
101
- ```
102
-
103
- Set `options.fmode` and `options.dmode` to ensure that files/directories extracted have the corresponding modes
104
-
105
- ``` js
106
- var extract = tar.extract('./my-directory', {
107
- dmode: parseInt(555, 8), // all dirs should be readable
108
- fmode: parseInt(444, 8) // all files should be readable
109
- })
110
- ```
111
-
112
- It can be useful to use `dmode` and `fmode` if you are packing/unpacking tarballs between *nix/windows to ensure that all files/directories unpacked are readable.
113
-
114
- Alternatively you can set `options.readable` and/or `options.writable` to set the dmode and fmode to readable/writable.
115
-
116
- ``` js
117
- var extract = tar.extract('./my-directory', {
118
- readable: true, // all dirs and files should be readable
119
- writable: true, // all dirs and files should be writable
120
- })
121
- ```
122
-
123
- Set `options.strict` to `false` if you want to ignore errors due to unsupported entry types (like device files)
124
-
125
- To dereference symlinks (pack the contents of the symlink instead of the link itself) set `options.dereference` to `true`.
126
-
127
- ## Copy a directory
128
-
129
- Copying a directory with permissions and mtime intact is as simple as
130
-
131
- ``` js
132
- tar.pack('source-directory').pipe(tar.extract('dest-directory'))
133
- ```
134
-
135
- ## Interaction with [`tar-stream`](https://github.com/mafintosh/tar-stream)
136
-
137
- Use `finalize: false` and the `finish` hook to
138
- leave the pack stream open for further entries (see
139
- [`tar-stream#pack`](https://github.com/mafintosh/tar-stream#packing)),
140
- and use `pack` to pass an existing pack stream.
141
-
142
- ``` js
143
- var mypack = tar.pack('./my-directory', {
144
- finalize: false,
145
- finish: function(sameAsMypack) {
146
- mypack.entry({name: 'generated-file.txt'}, "hello")
147
- tar.pack('./other-directory', {
148
- pack: sameAsMypack
149
- })
150
- }
151
- })
152
- ```
153
-
154
-
155
- ## Performance
156
-
157
- Packing and extracting a 6.1 GB with 2496 directories and 2398 files yields the following results on my Macbook Air.
158
- [See the benchmark here](https://gist.github.com/mafintosh/8102201)
159
-
160
- * tar-fs: 34.261 seconds
161
- * [node-tar](https://github.com/isaacs/node-tar): 366.123 seconds (or 10x slower)
162
-
163
- ## License
164
-
165
- MIT