postdoc 0.2.0.beta4 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (370) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc.rb +50 -18
  3. metadata +24 -378
  4. data/lib/pdf.js +0 -27
  5. data/node_modules/agent-base/History.md +0 -113
  6. data/node_modules/agent-base/README.md +0 -145
  7. data/node_modules/agent-base/index.js +0 -160
  8. data/node_modules/agent-base/package.json +0 -35
  9. data/node_modules/agent-base/patch-core.js +0 -37
  10. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  12. data/node_modules/agent-base/test/test.js +0 -673
  13. data/node_modules/async-limiter/LICENSE +0 -8
  14. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  15. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  17. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  18. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  19. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  22. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  23. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  24. data/node_modules/async-limiter/index.js +0 -67
  25. data/node_modules/async-limiter/package.json +0 -35
  26. data/node_modules/async-limiter/readme.md +0 -132
  27. data/node_modules/balanced-match/LICENSE.md +0 -21
  28. data/node_modules/balanced-match/README.md +0 -91
  29. data/node_modules/balanced-match/index.js +0 -59
  30. data/node_modules/balanced-match/package.json +0 -49
  31. data/node_modules/brace-expansion/LICENSE +0 -21
  32. data/node_modules/brace-expansion/README.md +0 -129
  33. data/node_modules/brace-expansion/index.js +0 -201
  34. data/node_modules/brace-expansion/package.json +0 -47
  35. data/node_modules/buffer-from/index.js +0 -69
  36. data/node_modules/buffer-from/package.json +0 -16
  37. data/node_modules/buffer-from/readme.md +0 -69
  38. data/node_modules/buffer-from/test.js +0 -12
  39. data/node_modules/concat-map/LICENSE +0 -18
  40. data/node_modules/concat-map/README.markdown +0 -62
  41. data/node_modules/concat-map/example/map.js +0 -6
  42. data/node_modules/concat-map/index.js +0 -13
  43. data/node_modules/concat-map/package.json +0 -43
  44. data/node_modules/concat-map/test/map.js +0 -39
  45. data/node_modules/concat-stream/LICENSE +0 -24
  46. data/node_modules/concat-stream/index.js +0 -144
  47. data/node_modules/concat-stream/package.json +0 -55
  48. data/node_modules/concat-stream/readme.md +0 -102
  49. data/node_modules/core-util-is/LICENSE +0 -19
  50. data/node_modules/core-util-is/README.md +0 -3
  51. data/node_modules/core-util-is/float.patch +0 -604
  52. data/node_modules/core-util-is/lib/util.js +0 -107
  53. data/node_modules/core-util-is/package.json +0 -32
  54. data/node_modules/core-util-is/test.js +0 -68
  55. data/node_modules/debug/CHANGELOG.md +0 -395
  56. data/node_modules/debug/LICENSE +0 -19
  57. data/node_modules/debug/Makefile +0 -58
  58. data/node_modules/debug/README.md +0 -368
  59. data/node_modules/debug/karma.conf.js +0 -70
  60. data/node_modules/debug/node.js +0 -1
  61. data/node_modules/debug/package.json +0 -43
  62. data/node_modules/debug/src/browser.js +0 -195
  63. data/node_modules/debug/src/debug.js +0 -225
  64. data/node_modules/debug/src/index.js +0 -10
  65. data/node_modules/debug/src/node.js +0 -186
  66. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  67. data/node_modules/es6-promise/LICENSE +0 -19
  68. data/node_modules/es6-promise/README.md +0 -97
  69. data/node_modules/es6-promise/auto.js +0 -4
  70. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  71. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  72. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  75. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  76. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  78. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  79. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  80. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  81. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  82. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  83. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  84. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  85. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  86. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  87. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  88. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  89. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  90. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  91. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  92. data/node_modules/es6-promise/package.json +0 -75
  93. data/node_modules/es6-promisify/README.md +0 -89
  94. data/node_modules/es6-promisify/dist/promise.js +0 -73
  95. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  96. data/node_modules/es6-promisify/package.json +0 -41
  97. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  98. data/node_modules/extract-zip/LICENSE +0 -23
  99. data/node_modules/extract-zip/cli.js +0 -20
  100. data/node_modules/extract-zip/index.js +0 -205
  101. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  102. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  103. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  104. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  105. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  106. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  107. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  108. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  109. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  110. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  111. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  112. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  113. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  114. data/node_modules/extract-zip/package.json +0 -35
  115. data/node_modules/extract-zip/readme.md +0 -49
  116. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  117. data/node_modules/fd-slicer/LICENSE +0 -21
  118. data/node_modules/fd-slicer/README.md +0 -189
  119. data/node_modules/fd-slicer/index.js +0 -277
  120. data/node_modules/fd-slicer/package.json +0 -36
  121. data/node_modules/fd-slicer/test/test.js +0 -350
  122. data/node_modules/fs.realpath/LICENSE +0 -43
  123. data/node_modules/fs.realpath/README.md +0 -33
  124. data/node_modules/fs.realpath/index.js +0 -66
  125. data/node_modules/fs.realpath/old.js +0 -303
  126. data/node_modules/fs.realpath/package.json +0 -26
  127. data/node_modules/glob/LICENSE +0 -15
  128. data/node_modules/glob/README.md +0 -368
  129. data/node_modules/glob/changelog.md +0 -67
  130. data/node_modules/glob/common.js +0 -240
  131. data/node_modules/glob/glob.js +0 -790
  132. data/node_modules/glob/package.json +0 -43
  133. data/node_modules/glob/sync.js +0 -486
  134. data/node_modules/https-proxy-agent/History.md +0 -124
  135. data/node_modules/https-proxy-agent/README.md +0 -137
  136. data/node_modules/https-proxy-agent/index.js +0 -229
  137. data/node_modules/https-proxy-agent/package.json +0 -35
  138. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  140. data/node_modules/https-proxy-agent/test/test.js +0 -342
  141. data/node_modules/inflight/LICENSE +0 -15
  142. data/node_modules/inflight/README.md +0 -37
  143. data/node_modules/inflight/inflight.js +0 -54
  144. data/node_modules/inflight/package.json +0 -29
  145. data/node_modules/inherits/LICENSE +0 -16
  146. data/node_modules/inherits/README.md +0 -42
  147. data/node_modules/inherits/inherits.js +0 -7
  148. data/node_modules/inherits/inherits_browser.js +0 -23
  149. data/node_modules/inherits/package.json +0 -29
  150. data/node_modules/isarray/Makefile +0 -6
  151. data/node_modules/isarray/README.md +0 -60
  152. data/node_modules/isarray/component.json +0 -19
  153. data/node_modules/isarray/index.js +0 -5
  154. data/node_modules/isarray/package.json +0 -45
  155. data/node_modules/isarray/test.js +0 -20
  156. data/node_modules/mime/CHANGELOG.md +0 -225
  157. data/node_modules/mime/CONTRIBUTING.md +0 -5
  158. data/node_modules/mime/LICENSE +0 -21
  159. data/node_modules/mime/Mime.js +0 -89
  160. data/node_modules/mime/README.md +0 -188
  161. data/node_modules/mime/cli.js +0 -10
  162. data/node_modules/mime/index.js +0 -4
  163. data/node_modules/mime/lite.js +0 -4
  164. data/node_modules/mime/package.json +0 -43
  165. data/node_modules/mime/src/README_js.md +0 -179
  166. data/node_modules/mime/src/build.js +0 -71
  167. data/node_modules/mime/src/test.js +0 -257
  168. data/node_modules/mime/types/other.json +0 -1
  169. data/node_modules/mime/types/standard.json +0 -1
  170. data/node_modules/minimatch/LICENSE +0 -15
  171. data/node_modules/minimatch/README.md +0 -209
  172. data/node_modules/minimatch/minimatch.js +0 -923
  173. data/node_modules/minimatch/package.json +0 -30
  174. data/node_modules/minimist/LICENSE +0 -18
  175. data/node_modules/minimist/example/parse.js +0 -2
  176. data/node_modules/minimist/index.js +0 -187
  177. data/node_modules/minimist/package.json +0 -40
  178. data/node_modules/minimist/readme.markdown +0 -73
  179. data/node_modules/minimist/test/dash.js +0 -24
  180. data/node_modules/minimist/test/default_bool.js +0 -20
  181. data/node_modules/minimist/test/dotted.js +0 -16
  182. data/node_modules/minimist/test/long.js +0 -31
  183. data/node_modules/minimist/test/parse.js +0 -318
  184. data/node_modules/minimist/test/parse_modified.js +0 -9
  185. data/node_modules/minimist/test/short.js +0 -67
  186. data/node_modules/minimist/test/whitespace.js +0 -8
  187. data/node_modules/mkdirp/LICENSE +0 -21
  188. data/node_modules/mkdirp/bin/cmd.js +0 -33
  189. data/node_modules/mkdirp/bin/usage.txt +0 -12
  190. data/node_modules/mkdirp/examples/pow.js +0 -6
  191. data/node_modules/mkdirp/index.js +0 -98
  192. data/node_modules/mkdirp/package.json +0 -27
  193. data/node_modules/mkdirp/readme.markdown +0 -100
  194. data/node_modules/mkdirp/test/chmod.js +0 -41
  195. data/node_modules/mkdirp/test/clobber.js +0 -38
  196. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  197. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  198. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  199. data/node_modules/mkdirp/test/perm.js +0 -32
  200. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  201. data/node_modules/mkdirp/test/race.js +0 -37
  202. data/node_modules/mkdirp/test/rel.js +0 -32
  203. data/node_modules/mkdirp/test/return.js +0 -25
  204. data/node_modules/mkdirp/test/return_sync.js +0 -24
  205. data/node_modules/mkdirp/test/root.js +0 -19
  206. data/node_modules/mkdirp/test/sync.js +0 -32
  207. data/node_modules/mkdirp/test/umask.js +0 -28
  208. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  209. data/node_modules/ms/index.js +0 -152
  210. data/node_modules/ms/license.md +0 -21
  211. data/node_modules/ms/package.json +0 -37
  212. data/node_modules/ms/readme.md +0 -51
  213. data/node_modules/once/LICENSE +0 -15
  214. data/node_modules/once/README.md +0 -79
  215. data/node_modules/once/once.js +0 -42
  216. data/node_modules/once/package.json +0 -33
  217. data/node_modules/path-is-absolute/index.js +0 -20
  218. data/node_modules/path-is-absolute/license +0 -21
  219. data/node_modules/path-is-absolute/package.json +0 -43
  220. data/node_modules/path-is-absolute/readme.md +0 -59
  221. data/node_modules/pend/LICENSE +0 -23
  222. data/node_modules/pend/README.md +0 -41
  223. data/node_modules/pend/index.js +0 -55
  224. data/node_modules/pend/package.json +0 -18
  225. data/node_modules/pend/test.js +0 -137
  226. data/node_modules/process-nextick-args/index.js +0 -44
  227. data/node_modules/process-nextick-args/license.md +0 -19
  228. data/node_modules/process-nextick-args/package.json +0 -25
  229. data/node_modules/process-nextick-args/readme.md +0 -18
  230. data/node_modules/progress/CHANGELOG.md +0 -115
  231. data/node_modules/progress/LICENSE +0 -22
  232. data/node_modules/progress/Makefile +0 -8
  233. data/node_modules/progress/README.md +0 -146
  234. data/node_modules/progress/index.js +0 -1
  235. data/node_modules/progress/lib/node-progress.js +0 -231
  236. data/node_modules/progress/package.json +0 -25
  237. data/node_modules/proxy-from-env/README.md +0 -131
  238. data/node_modules/proxy-from-env/index.js +0 -103
  239. data/node_modules/proxy-from-env/package.json +0 -35
  240. data/node_modules/proxy-from-env/test.js +0 -393
  241. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  242. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  243. data/node_modules/puppeteer/LICENSE +0 -202
  244. data/node_modules/puppeteer/README.md +0 -306
  245. data/node_modules/puppeteer/index.js +0 -28
  246. data/node_modules/puppeteer/install.js +0 -122
  247. data/node_modules/puppeteer/lib/Browser.js +0 -186
  248. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  249. data/node_modules/puppeteer/lib/Connection.js +0 -246
  250. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  251. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  252. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  253. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  254. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  255. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  256. data/node_modules/puppeteer/lib/Input.js +0 -309
  257. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  258. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  259. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  260. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  261. data/node_modules/puppeteer/lib/Page.js +0 -1098
  262. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  263. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  264. data/node_modules/puppeteer/lib/Target.js +0 -88
  265. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  266. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  267. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  268. data/node_modules/puppeteer/lib/helper.js +0 -248
  269. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  270. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  271. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  272. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  273. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  274. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  275. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  276. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  277. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  278. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  279. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  280. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  281. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  282. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  283. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  284. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  285. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  286. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  287. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  288. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  289. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  290. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  291. data/node_modules/puppeteer/package.json +0 -61
  292. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  293. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  294. data/node_modules/readable-stream/LICENSE +0 -47
  295. data/node_modules/readable-stream/README.md +0 -58
  296. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  297. data/node_modules/readable-stream/duplex-browser.js +0 -1
  298. data/node_modules/readable-stream/duplex.js +0 -1
  299. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  300. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  301. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  302. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  303. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  304. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  305. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  306. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  307. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  308. data/node_modules/readable-stream/package.json +0 -52
  309. data/node_modules/readable-stream/passthrough.js +0 -1
  310. data/node_modules/readable-stream/readable-browser.js +0 -7
  311. data/node_modules/readable-stream/readable.js +0 -19
  312. data/node_modules/readable-stream/transform.js +0 -1
  313. data/node_modules/readable-stream/writable-browser.js +0 -1
  314. data/node_modules/readable-stream/writable.js +0 -8
  315. data/node_modules/rimraf/LICENSE +0 -15
  316. data/node_modules/rimraf/README.md +0 -101
  317. data/node_modules/rimraf/bin.js +0 -50
  318. data/node_modules/rimraf/package.json +0 -26
  319. data/node_modules/rimraf/rimraf.js +0 -364
  320. data/node_modules/safe-buffer/LICENSE +0 -21
  321. data/node_modules/safe-buffer/README.md +0 -584
  322. data/node_modules/safe-buffer/index.d.ts +0 -187
  323. data/node_modules/safe-buffer/index.js +0 -62
  324. data/node_modules/safe-buffer/package.json +0 -37
  325. data/node_modules/string_decoder/LICENSE +0 -48
  326. data/node_modules/string_decoder/README.md +0 -47
  327. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  328. data/node_modules/string_decoder/package.json +0 -31
  329. data/node_modules/typedarray/LICENSE +0 -35
  330. data/node_modules/typedarray/example/tarray.js +0 -4
  331. data/node_modules/typedarray/index.js +0 -630
  332. data/node_modules/typedarray/package.json +0 -55
  333. data/node_modules/typedarray/readme.markdown +0 -61
  334. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  335. data/node_modules/typedarray/test/tarray.js +0 -10
  336. data/node_modules/ultron/LICENSE +0 -22
  337. data/node_modules/ultron/README.md +0 -113
  338. data/node_modules/ultron/index.js +0 -136
  339. data/node_modules/ultron/package.json +0 -41
  340. data/node_modules/util-deprecate/History.md +0 -16
  341. data/node_modules/util-deprecate/LICENSE +0 -24
  342. data/node_modules/util-deprecate/README.md +0 -53
  343. data/node_modules/util-deprecate/browser.js +0 -67
  344. data/node_modules/util-deprecate/node.js +0 -6
  345. data/node_modules/util-deprecate/package.json +0 -27
  346. data/node_modules/wrappy/LICENSE +0 -15
  347. data/node_modules/wrappy/README.md +0 -36
  348. data/node_modules/wrappy/package.json +0 -29
  349. data/node_modules/wrappy/wrappy.js +0 -33
  350. data/node_modules/ws/LICENSE +0 -21
  351. data/node_modules/ws/README.md +0 -341
  352. data/node_modules/ws/index.js +0 -15
  353. data/node_modules/ws/lib/BufferUtil.js +0 -71
  354. data/node_modules/ws/lib/Constants.js +0 -10
  355. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  356. data/node_modules/ws/lib/EventTarget.js +0 -151
  357. data/node_modules/ws/lib/Extensions.js +0 -203
  358. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  359. data/node_modules/ws/lib/Receiver.js +0 -553
  360. data/node_modules/ws/lib/Sender.js +0 -412
  361. data/node_modules/ws/lib/Validation.js +0 -17
  362. data/node_modules/ws/lib/WebSocket.js +0 -717
  363. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  364. data/node_modules/ws/package.json +0 -46
  365. data/node_modules/yauzl/LICENSE +0 -21
  366. data/node_modules/yauzl/README.md +0 -467
  367. data/node_modules/yauzl/index.js +0 -626
  368. data/node_modules/yauzl/package.json +0 -36
  369. data/package.json +0 -5
  370. data/yarn.lock +0 -240
@@ -1,37 +0,0 @@
1
- 'use strict';
2
- const url = require('url');
3
- const https = require('https');
4
-
5
- /**
6
- * This currently needs to be applied to all Node.js versions
7
- * in order to determine if the `req` is an HTTP or HTTPS request.
8
- *
9
- * There is currently no PR attempting to move this property upstream.
10
- */
11
- https.request = (function(request) {
12
- return function(_options, cb) {
13
- let options;
14
- if (typeof _options === 'string') {
15
- options = url.parse(_options);
16
- } else {
17
- options = Object.assign({}, _options);
18
- }
19
- if (null == options.port) {
20
- options.port = 443;
21
- }
22
- options.secureEndpoint = true;
23
- return request.call(https, options, cb);
24
- };
25
- })(https.request);
26
-
27
- /**
28
- * This is needed for Node.js >= 9.0.0 to make sure `https.get()` uses the
29
- * patched `https.request()`.
30
- *
31
- * Ref: https://github.com/nodejs/node/commit/5118f31
32
- */
33
- https.get = function(options, cb) {
34
- const req = https.request(options, cb);
35
- req.end();
36
- return req;
37
- };
@@ -1,15 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIICWwIBAAKBgQCzURxIqzer0ACAbX/lHdsn4Gd9PLKrf7EeDYfIdV0HZKPD8WDr
3
- bBx2/fBu0OW2sjnzv/SVZbJ0DAuPE/p0+eT0qb2qC10iz9iTD7ribd7gxhirVb8y
4
- b3fBjXsxc8V8p4Ny1LcvNSqCjwUbJqdRogfoJeTiqPM58z5sNzuv5iq7iwIDAQAB
5
- AoGAPMQy4olrP0UotlzlJ36bowLP70ffgHCwU+/f4NWs5fF78c3du0oSx1w820Dd
6
- Z7E0JF8bgnlJJTxjumPZz0RUCugrEHBKJmzEz3cxF5E3+7NvteZcjKn9D67RrM5x
7
- 1/uSZ9cqKE9cYvY4fSuHx18diyZ4axR/wB1Pea2utjjDM+ECQQDb9ZbmmaWMiRpQ
8
- 5Up+loxP7BZNPsEVsm+DVJmEFbaFgGfncWBqSIqnPNjMwTwj0OigTwCAEGPkfRVW
9
- T0pbYWCxAkEA0LK7SCTwzyDmhASUalk0x+3uCAA6ryFdwJf/wd8TRAvVOmkTEldX
10
- uJ7ldLvfrONYO3v56uKTU/SoNdZYzKtO+wJAX2KM4ctXYy5BXztPpr2acz4qHa1N
11
- Bh+vBAC34fOYhyQ76r3b1btHhWZ5jbFuZwm9F2erC94Ps5IaoqcX07DSwQJAPKGw
12
- h2U0EPkd/3zVIZCJJQya+vgWFIs9EZcXVtvYXQyTBkVApTN66MhBIYjzkub5205J
13
- bVQmOV37AKklY1DhwQJAA1wos0cYxro02edzatxd0DIR2r4qqOqLkw6BhYHhq6HJ
14
- ZvIcQkHqdSXzdETFc01I1znDGGIrJHcnvKWgBPoEUg==
15
- -----END RSA PRIVATE KEY-----
@@ -1,12 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIB1TCCAT4CCQDV5mPlzm9+izANBgkqhkiG9w0BAQUFADAvMS0wKwYDVQQDEyQ3
3
- NTI3YmQ3Ny1hYjNlLTQ3NGItYWNlNy1lZWQ2MDUzOTMxZTcwHhcNMTUwNzA2MjI0
4
- NTA3WhcNMjUwNzAzMjI0NTA3WjAvMS0wKwYDVQQDEyQ3NTI3YmQ3Ny1hYjNlLTQ3
5
- NGItYWNlNy1lZWQ2MDUzOTMxZTcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
6
- ALNRHEirN6vQAIBtf+Ud2yfgZ308sqt/sR4Nh8h1XQdko8PxYOtsHHb98G7Q5bay
7
- OfO/9JVlsnQMC48T+nT55PSpvaoLXSLP2JMPuuJt3uDGGKtVvzJvd8GNezFzxXyn
8
- g3LUty81KoKPBRsmp1GiB+gl5OKo8znzPmw3O6/mKruLAgMBAAEwDQYJKoZIhvcN
9
- AQEFBQADgYEACzoHUF8UV2Z6541Q2wKEA0UFUzmUjf/E1XwBO+1P15ZZ64uw34B4
10
- 1RwMPtAo9RY/PmICTWtNxWGxkzwb2JtDWtnxVER/lF8k2XcXPE76fxTHJF/BKk9J
11
- QU8OTD1dd9gHCBviQB9TqntRZ5X7axjtuWjb2umY+owBYzAHZkp1HKI=
12
- -----END CERTIFICATE-----
@@ -1,673 +0,0 @@
1
- /**
2
- * Module dependencies.
3
- */
4
-
5
- var fs = require('fs');
6
- var url = require('url');
7
- var net = require('net');
8
- var tls = require('tls');
9
- var http = require('http');
10
- var https = require('https');
11
- var WebSocket = require('ws');
12
- var assert = require('assert');
13
- var events = require('events');
14
- var inherits = require('util').inherits;
15
- var Agent = require('../');
16
-
17
- var PassthroughAgent = Agent(function(req, opts) {
18
- return opts.secureEndpoint ? https.globalAgent : http.globalAgent;
19
- });
20
-
21
- describe('Agent', function() {
22
- describe('subclass', function() {
23
- it('should be subclassable', function(done) {
24
- function MyAgent() {
25
- Agent.call(this);
26
- }
27
- inherits(MyAgent, Agent);
28
-
29
- MyAgent.prototype.callback = function(req, opts, fn) {
30
- assert.equal(req.path, '/foo');
31
- assert.equal(req.getHeader('host'), '127.0.0.1:1234');
32
- assert.equal(opts.secureEndpoint, true);
33
- done();
34
- };
35
-
36
- var info = url.parse('https://127.0.0.1:1234/foo');
37
- info.agent = new MyAgent();
38
- https.get(info);
39
- });
40
- });
41
- describe('options', function() {
42
- it('should support an options Object as first argument', function() {
43
- var agent = new Agent({ timeout: 1000 });
44
- assert.equal(1000, agent.timeout);
45
- });
46
- it('should support an options Object as second argument', function() {
47
- var agent = new Agent(function() {}, { timeout: 1000 });
48
- assert.equal(1000, agent.timeout);
49
- });
50
- it('should be mixed in with HTTP request options', function(done) {
51
- var agent = new Agent({
52
- host: 'my-proxy.com',
53
- port: 3128,
54
- foo: 'bar'
55
- });
56
- agent.callback = function(req, opts, fn) {
57
- assert.equal('bar', opts.foo);
58
- assert.equal('a', opts.b);
59
-
60
- // `host` and `port` are special-cases, and should always be
61
- // overwritten in the request `opts` inside the agent-base callback
62
- assert.equal('localhost', opts.host);
63
- assert.equal(80, opts.port);
64
- done();
65
- };
66
- var opts = {
67
- b: 'a',
68
- agent: agent
69
- };
70
- http.get(opts);
71
- });
72
- });
73
- describe('`this` context', function() {
74
- it('should be the Agent instance', function(done) {
75
- var called = false;
76
- var agent = new Agent();
77
- agent.callback = function() {
78
- called = true;
79
- assert.equal(this, agent);
80
- };
81
- var info = url.parse('http://127.0.0.1/foo');
82
- info.agent = agent;
83
- var req = http.get(info);
84
- req.on('error', function(err) {
85
- assert(/no Duplex stream was returned/.test(err.message));
86
- done();
87
- });
88
- });
89
- it('should be the Agent instance with callback signature', function(done) {
90
- var called = false;
91
- var agent = new Agent();
92
- agent.callback = function(req, opts, fn) {
93
- called = true;
94
- assert.equal(this, agent);
95
- fn();
96
- };
97
- var info = url.parse('http://127.0.0.1/foo');
98
- info.agent = agent;
99
- var req = http.get(info);
100
- req.on('error', function(err) {
101
- assert(/no Duplex stream was returned/.test(err.message));
102
- done();
103
- });
104
- });
105
- });
106
- describe('"error" event', function() {
107
- it('should be invoked on `http.ClientRequest` instance if `callback()` has not been defined', function(
108
- done
109
- ) {
110
- var agent = new Agent();
111
- var info = url.parse('http://127.0.0.1/foo');
112
- info.agent = agent;
113
- var req = http.get(info);
114
- req.on('error', function(err) {
115
- assert.equal(
116
- '"agent-base" has no default implementation, you must subclass and override `callback()`',
117
- err.message
118
- );
119
- done();
120
- });
121
- });
122
- it('should be invoked on `http.ClientRequest` instance if Error passed to callback function on the first tick', function(
123
- done
124
- ) {
125
- var agent = new Agent(function(req, opts, fn) {
126
- fn(new Error('is this caught?'));
127
- });
128
- var info = url.parse('http://127.0.0.1/foo');
129
- info.agent = agent;
130
- var req = http.get(info);
131
- req.on('error', function(err) {
132
- assert.equal('is this caught?', err.message);
133
- done();
134
- });
135
- });
136
- it('should be invoked on `http.ClientRequest` instance if Error passed to callback function after the first tick', function(
137
- done
138
- ) {
139
- var agent = new Agent(function(req, opts, fn) {
140
- setTimeout(function() {
141
- fn(new Error('is this caught?'));
142
- }, 10);
143
- });
144
- var info = url.parse('http://127.0.0.1/foo');
145
- info.agent = agent;
146
- var req = http.get(info);
147
- req.on('error', function(err) {
148
- assert.equal('is this caught?', err.message);
149
- done();
150
- });
151
- });
152
- });
153
- describe('artificial "streams"', function() {
154
- it('should send a GET request', function(done) {
155
- var stream = new events.EventEmitter();
156
-
157
- // needed for the `http` module to call .write() on the stream
158
- stream.writable = true;
159
-
160
- stream.write = function(str) {
161
- assert(0 == str.indexOf('GET / HTTP/1.1'));
162
- done();
163
- };
164
-
165
- // needed for `http` module in Node.js 4
166
- stream.cork = function() {};
167
-
168
- var opts = {
169
- method: 'GET',
170
- host: '127.0.0.1',
171
- path: '/',
172
- port: 80,
173
- agent: new Agent(function(req, opts, fn) {
174
- fn(null, stream);
175
- })
176
- };
177
- var req = http.request(opts);
178
- req.end();
179
- });
180
- it('should receive a GET response', function(done) {
181
- var stream = new events.EventEmitter();
182
- var opts = {
183
- method: 'GET',
184
- host: '127.0.0.1',
185
- path: '/',
186
- port: 80,
187
- agent: new Agent(function(req, opts, fn) {
188
- fn(null, stream);
189
- })
190
- };
191
- var req = http.request(opts, function(res) {
192
- assert.equal('0.9', res.httpVersion);
193
- assert.equal(111, res.statusCode);
194
- assert.equal('bar', res.headers.foo);
195
- done();
196
- });
197
-
198
- // have to wait for the "socket" event since `http.ClientRequest`
199
- // doesn't *actually* attach the listeners to the "stream" until
200
- // this happens
201
- req.once('socket', function() {
202
- var buf = new Buffer(
203
- 'HTTP/0.9 111\r\n' +
204
- 'Foo: bar\r\n' +
205
- 'Set-Cookie: 1\r\n' +
206
- 'Set-Cookie: 2\r\n\r\n'
207
- );
208
- stream.emit('data', buf);
209
- });
210
-
211
- req.end();
212
- });
213
- });
214
- });
215
-
216
- describe('"http" module', function() {
217
- var server;
218
- var port;
219
-
220
- // setup test HTTP server
221
- before(function(done) {
222
- server = http.createServer();
223
- server.listen(0, function() {
224
- port = server.address().port;
225
- done();
226
- });
227
- });
228
-
229
- // shut down test HTTP server
230
- after(function(done) {
231
- server.once('close', function() {
232
- done();
233
- });
234
- server.close();
235
- });
236
-
237
- it('should work for basic HTTP requests', function(done) {
238
- var called = false;
239
- var agent = new Agent(function(req, opts, fn) {
240
- called = true;
241
- var socket = net.connect(opts);
242
- fn(null, socket);
243
- });
244
-
245
- // add HTTP server "request" listener
246
- var gotReq = false;
247
- server.once('request', function(req, res) {
248
- gotReq = true;
249
- res.setHeader('X-Foo', 'bar');
250
- res.setHeader('X-Url', req.url);
251
- res.end();
252
- });
253
-
254
- var info = url.parse('http://127.0.0.1:' + port + '/foo');
255
- info.agent = agent;
256
- http.get(info, function(res) {
257
- assert.equal('bar', res.headers['x-foo']);
258
- assert.equal('/foo', res.headers['x-url']);
259
- assert(gotReq);
260
- assert(called);
261
- done();
262
- });
263
- });
264
-
265
- it('should support direct return in `connect()`', function(done) {
266
- var called = false;
267
- var agent = new Agent(function(req, opts) {
268
- called = true;
269
- return net.connect(opts);
270
- });
271
-
272
- // add HTTP server "request" listener
273
- var gotReq = false;
274
- server.once('request', function(req, res) {
275
- gotReq = true;
276
- res.setHeader('X-Foo', 'bar');
277
- res.setHeader('X-Url', req.url);
278
- res.end();
279
- });
280
-
281
- var info = url.parse('http://127.0.0.1:' + port + '/foo');
282
- info.agent = agent;
283
- http.get(info, function(res) {
284
- assert.equal('bar', res.headers['x-foo']);
285
- assert.equal('/foo', res.headers['x-url']);
286
- assert(gotReq);
287
- assert(called);
288
- done();
289
- });
290
- });
291
-
292
- it('should support returning a Promise in `connect()`', function(done) {
293
- var called = false;
294
- var agent = new Agent(function(req, opts) {
295
- return new Promise(function(resolve, reject) {
296
- called = true;
297
- resolve(net.connect(opts));
298
- });
299
- });
300
-
301
- // add HTTP server "request" listener
302
- var gotReq = false;
303
- server.once('request', function(req, res) {
304
- gotReq = true;
305
- res.setHeader('X-Foo', 'bar');
306
- res.setHeader('X-Url', req.url);
307
- res.end();
308
- });
309
-
310
- var info = url.parse('http://127.0.0.1:' + port + '/foo');
311
- info.agent = agent;
312
- http.get(info, function(res) {
313
- assert.equal('bar', res.headers['x-foo']);
314
- assert.equal('/foo', res.headers['x-url']);
315
- assert(gotReq);
316
- assert(called);
317
- done();
318
- });
319
- });
320
-
321
- it('should set the `Connection: close` response header', function(done) {
322
- var called = false;
323
- var agent = new Agent(function(req, opts, fn) {
324
- called = true;
325
- var socket = net.connect(opts);
326
- fn(null, socket);
327
- });
328
-
329
- // add HTTP server "request" listener
330
- var gotReq = false;
331
- server.once('request', function(req, res) {
332
- gotReq = true;
333
- res.setHeader('X-Url', req.url);
334
- assert.equal('close', req.headers.connection);
335
- res.end();
336
- });
337
-
338
- var info = url.parse('http://127.0.0.1:' + port + '/bar');
339
- info.agent = agent;
340
- http.get(info, function(res) {
341
- assert.equal('/bar', res.headers['x-url']);
342
- assert.equal('close', res.headers.connection);
343
- assert(gotReq);
344
- assert(called);
345
- done();
346
- });
347
- });
348
-
349
- it('should pass through options from `http.request()`', function(done) {
350
- var agent = new Agent(function(req, opts, fn) {
351
- assert.equal('google.com', opts.host);
352
- assert.equal('bar', opts.foo);
353
- done();
354
- });
355
-
356
- http.get({
357
- host: 'google.com',
358
- foo: 'bar',
359
- agent: agent
360
- });
361
- });
362
-
363
- it('should default to port 80', function(done) {
364
- var agent = new Agent(function(req, opts, fn) {
365
- assert.equal(80, opts.port);
366
- done();
367
- });
368
-
369
- // (probably) not hitting a real HTTP server here,
370
- // so no need to add a httpServer request listener
371
- http.get({
372
- host: '127.0.0.1',
373
- path: '/foo',
374
- agent: agent
375
- });
376
- });
377
-
378
- it('should support the "timeout" option', function(done) {
379
- // ensure we timeout after the "error" event had a chance to trigger
380
- this.timeout(1000);
381
- this.slow(800);
382
-
383
- var agent = new Agent(
384
- function(req, opts, fn) {
385
- // this function will time out
386
- },
387
- { timeout: 100 }
388
- );
389
-
390
- var opts = url.parse('http://nodejs.org');
391
- opts.agent = agent;
392
-
393
- var req = http.get(opts);
394
- req.once('error', function(err) {
395
- assert.equal('ETIMEOUT', err.code);
396
- req.abort();
397
- done();
398
- });
399
- });
400
-
401
- describe('PassthroughAgent', function() {
402
- it('should pass through to `http.globalAgent`', function(done) {
403
- // add HTTP server "request" listener
404
- var gotReq = false;
405
- server.once('request', function(req, res) {
406
- gotReq = true;
407
- res.setHeader('X-Foo', 'bar');
408
- res.setHeader('X-Url', req.url);
409
- res.end();
410
- });
411
-
412
- var info = url.parse('http://127.0.0.1:' + port + '/foo');
413
- info.agent = PassthroughAgent;
414
- http.get(info, function(res) {
415
- assert.equal('bar', res.headers['x-foo']);
416
- assert.equal('/foo', res.headers['x-url']);
417
- assert(gotReq);
418
- done();
419
- });
420
- });
421
- });
422
- });
423
-
424
- describe('"https" module', function() {
425
- var server;
426
- var port;
427
-
428
- // setup test HTTPS server
429
- before(function(done) {
430
- var options = {
431
- key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
432
- cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
433
- };
434
- server = https.createServer(options);
435
- server.listen(0, function() {
436
- port = server.address().port;
437
- done();
438
- });
439
- });
440
-
441
- // shut down test HTTP server
442
- after(function(done) {
443
- server.once('close', function() {
444
- done();
445
- });
446
- server.close();
447
- });
448
-
449
- it('should not modify the passed in Options object', function(done) {
450
- var called = false;
451
- var agent = new Agent(function(req, opts, fn) {
452
- called = true;
453
- assert.equal(true, opts.secureEndpoint);
454
- assert.equal(443, opts.port);
455
- assert.equal('localhost', opts.host);
456
- });
457
- var opts = { agent: agent };
458
- var req = https.request(opts);
459
- assert.equal(true, called);
460
- assert.equal(false, 'secureEndpoint' in opts);
461
- assert.equal(false, 'port' in opts);
462
- done();
463
- });
464
-
465
- it('should work with a String URL', function(done) {
466
- var endpoint = 'https://127.0.0.1:' + port;
467
- var req = https.get(endpoint);
468
-
469
- // it's gonna error out since `rejectUnauthorized` is not being passed in
470
- req.on('error', function(err) {
471
- assert.equal(err.code, 'DEPTH_ZERO_SELF_SIGNED_CERT');
472
- done();
473
- });
474
- });
475
-
476
- it('should work for basic HTTPS requests', function(done) {
477
- var called = false;
478
- var agent = new Agent(function(req, opts, fn) {
479
- called = true;
480
- assert(opts.secureEndpoint);
481
- var socket = tls.connect(opts);
482
- fn(null, socket);
483
- });
484
-
485
- // add HTTPS server "request" listener
486
- var gotReq = false;
487
- server.once('request', function(req, res) {
488
- gotReq = true;
489
- res.setHeader('X-Foo', 'bar');
490
- res.setHeader('X-Url', req.url);
491
- res.end();
492
- });
493
-
494
- var info = url.parse('https://127.0.0.1:' + port + '/foo');
495
- info.agent = agent;
496
- info.rejectUnauthorized = false;
497
- https.get(info, function(res) {
498
- assert.equal('bar', res.headers['x-foo']);
499
- assert.equal('/foo', res.headers['x-url']);
500
- assert(gotReq);
501
- assert(called);
502
- done();
503
- });
504
- });
505
-
506
- it('should pass through options from `https.request()`', function(done) {
507
- var agent = new Agent(function(req, opts, fn) {
508
- assert.equal('google.com', opts.host);
509
- assert.equal('bar', opts.foo);
510
- done();
511
- });
512
-
513
- https.get({
514
- host: 'google.com',
515
- foo: 'bar',
516
- agent: agent
517
- });
518
- });
519
-
520
- it('should default to port 443', function(done) {
521
- var agent = new Agent(function(req, opts, fn) {
522
- assert.equal(true, opts.secureEndpoint);
523
- assert.equal(false, opts.rejectUnauthorized);
524
- assert.equal(443, opts.port);
525
- done();
526
- });
527
-
528
- // (probably) not hitting a real HTTPS server here,
529
- // so no need to add a httpsServer request listener
530
- https.get({
531
- host: '127.0.0.1',
532
- path: '/foo',
533
- agent: agent,
534
- rejectUnauthorized: false
535
- });
536
- });
537
-
538
- describe('PassthroughAgent', function() {
539
- it('should pass through to `https.globalAgent`', function(done) {
540
- // add HTTP server "request" listener
541
- var gotReq = false;
542
- server.once('request', function(req, res) {
543
- gotReq = true;
544
- res.setHeader('X-Foo', 'bar');
545
- res.setHeader('X-Url', req.url);
546
- res.end();
547
- });
548
-
549
- var info = url.parse('https://127.0.0.1:' + port + '/foo');
550
- info.agent = PassthroughAgent;
551
- info.rejectUnauthorized = false;
552
- https.get(info, function(res) {
553
- assert.equal('bar', res.headers['x-foo']);
554
- assert.equal('/foo', res.headers['x-url']);
555
- assert(gotReq);
556
- done();
557
- });
558
- });
559
- });
560
- });
561
-
562
- describe('"ws" server', function() {
563
- var wss;
564
- var server;
565
- var port;
566
-
567
- // setup test HTTP server
568
- before(function(done) {
569
- server = http.createServer();
570
- wss = new WebSocket.Server({ server: server });
571
- server.listen(0, function() {
572
- port = server.address().port;
573
- done();
574
- });
575
- });
576
-
577
- // shut down test HTTP server
578
- after(function(done) {
579
- server.once('close', function() {
580
- done();
581
- });
582
- server.close();
583
- });
584
-
585
- it('should work for basic WebSocket connections', function(done) {
586
- function onconnection(ws) {
587
- ws.on('message', function(data) {
588
- assert.equal('ping', data);
589
- ws.send('pong');
590
- });
591
- }
592
- wss.on('connection', onconnection);
593
-
594
- var agent = new Agent(function(req, opts, fn) {
595
- var socket = net.connect(opts);
596
- fn(null, socket);
597
- });
598
-
599
- var client = new WebSocket('ws://127.0.0.1:' + port + '/', {
600
- agent: agent
601
- });
602
-
603
- client.on('open', function() {
604
- client.send('ping');
605
- });
606
-
607
- client.on('message', function(data) {
608
- assert.equal('pong', data);
609
- client.close();
610
- wss.removeListener('connection', onconnection);
611
- done();
612
- });
613
- });
614
- });
615
-
616
- describe('"wss" server', function() {
617
- var wss;
618
- var server;
619
- var port;
620
-
621
- // setup test HTTP server
622
- before(function(done) {
623
- var options = {
624
- key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
625
- cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
626
- };
627
- server = https.createServer(options);
628
- wss = new WebSocket.Server({ server: server });
629
- server.listen(0, function() {
630
- port = server.address().port;
631
- done();
632
- });
633
- });
634
-
635
- // shut down test HTTP server
636
- after(function(done) {
637
- server.once('close', function() {
638
- done();
639
- });
640
- server.close();
641
- });
642
-
643
- it('should work for secure WebSocket connections', function(done) {
644
- function onconnection(ws) {
645
- ws.on('message', function(data) {
646
- assert.equal('ping', data);
647
- ws.send('pong');
648
- });
649
- }
650
- wss.on('connection', onconnection);
651
-
652
- var agent = new Agent(function(req, opts, fn) {
653
- var socket = tls.connect(opts);
654
- fn(null, socket);
655
- });
656
-
657
- var client = new WebSocket('wss://127.0.0.1:' + port + '/', {
658
- agent: agent,
659
- rejectUnauthorized: false
660
- });
661
-
662
- client.on('open', function() {
663
- client.send('ping');
664
- });
665
-
666
- client.on('message', function(data) {
667
- assert.equal('pong', data);
668
- client.close();
669
- wss.removeListener('connection', onconnection);
670
- done();
671
- });
672
- });
673
- });