postdoc 0.1.2 → 0.2.0.beta4

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 (372) hide show
  1. checksums.yaml +5 -5
  2. data/lib/pdf.js +27 -0
  3. data/lib/postdoc.rb +3 -7
  4. data/node_modules/agent-base/History.md +113 -0
  5. data/node_modules/agent-base/README.md +145 -0
  6. data/node_modules/agent-base/index.js +160 -0
  7. data/node_modules/agent-base/package.json +35 -0
  8. data/node_modules/agent-base/patch-core.js +37 -0
  9. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +15 -0
  10. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +12 -0
  11. data/node_modules/agent-base/test/test.js +673 -0
  12. data/node_modules/async-limiter/LICENSE +8 -0
  13. data/node_modules/async-limiter/coverage/coverage.json +1 -0
  14. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +73 -0
  15. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +246 -0
  16. data/node_modules/async-limiter/coverage/lcov-report/base.css +182 -0
  17. data/node_modules/async-limiter/coverage/lcov-report/index.html +73 -0
  18. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +1 -0
  19. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +1 -0
  20. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  21. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +156 -0
  22. data/node_modules/async-limiter/coverage/lcov.info +74 -0
  23. data/node_modules/async-limiter/index.js +67 -0
  24. data/node_modules/async-limiter/package.json +35 -0
  25. data/node_modules/async-limiter/readme.md +132 -0
  26. data/node_modules/balanced-match/LICENSE.md +21 -0
  27. data/node_modules/balanced-match/README.md +91 -0
  28. data/node_modules/balanced-match/index.js +59 -0
  29. data/node_modules/balanced-match/package.json +49 -0
  30. data/node_modules/brace-expansion/LICENSE +21 -0
  31. data/node_modules/brace-expansion/README.md +129 -0
  32. data/node_modules/brace-expansion/index.js +201 -0
  33. data/node_modules/brace-expansion/package.json +47 -0
  34. data/node_modules/buffer-from/index.js +69 -0
  35. data/node_modules/buffer-from/package.json +16 -0
  36. data/node_modules/buffer-from/readme.md +69 -0
  37. data/node_modules/buffer-from/test.js +12 -0
  38. data/node_modules/concat-map/LICENSE +18 -0
  39. data/node_modules/concat-map/README.markdown +62 -0
  40. data/node_modules/concat-map/example/map.js +6 -0
  41. data/node_modules/concat-map/index.js +13 -0
  42. data/node_modules/concat-map/package.json +43 -0
  43. data/node_modules/concat-map/test/map.js +39 -0
  44. data/node_modules/concat-stream/LICENSE +24 -0
  45. data/node_modules/concat-stream/index.js +144 -0
  46. data/node_modules/concat-stream/package.json +55 -0
  47. data/node_modules/concat-stream/readme.md +102 -0
  48. data/node_modules/core-util-is/LICENSE +19 -0
  49. data/node_modules/core-util-is/README.md +3 -0
  50. data/node_modules/core-util-is/float.patch +604 -0
  51. data/node_modules/core-util-is/lib/util.js +107 -0
  52. data/node_modules/core-util-is/package.json +32 -0
  53. data/node_modules/core-util-is/test.js +68 -0
  54. data/node_modules/debug/CHANGELOG.md +395 -0
  55. data/node_modules/debug/LICENSE +19 -0
  56. data/node_modules/debug/Makefile +58 -0
  57. data/node_modules/debug/README.md +368 -0
  58. data/node_modules/debug/karma.conf.js +70 -0
  59. data/node_modules/debug/node.js +1 -0
  60. data/node_modules/debug/package.json +43 -0
  61. data/node_modules/debug/src/browser.js +195 -0
  62. data/node_modules/debug/src/debug.js +225 -0
  63. data/node_modules/debug/src/index.js +10 -0
  64. data/node_modules/debug/src/node.js +186 -0
  65. data/node_modules/es6-promise/CHANGELOG.md +151 -0
  66. data/node_modules/es6-promise/LICENSE +19 -0
  67. data/node_modules/es6-promise/README.md +97 -0
  68. data/node_modules/es6-promise/auto.js +4 -0
  69. data/node_modules/es6-promise/dist/es6-promise.auto.js +1181 -0
  70. data/node_modules/es6-promise/dist/es6-promise.auto.map +1 -0
  71. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +1 -0
  72. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +1 -0
  73. data/node_modules/es6-promise/dist/es6-promise.js +1179 -0
  74. data/node_modules/es6-promise/dist/es6-promise.map +1 -0
  75. data/node_modules/es6-promise/dist/es6-promise.min.js +1 -0
  76. data/node_modules/es6-promise/dist/es6-promise.min.map +1 -0
  77. data/node_modules/es6-promise/es6-promise.d.ts +81 -0
  78. data/node_modules/es6-promise/lib/es6-promise/-internal.js +266 -0
  79. data/node_modules/es6-promise/lib/es6-promise/asap.js +119 -0
  80. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +113 -0
  81. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +35 -0
  82. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +52 -0
  83. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +84 -0
  84. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +46 -0
  85. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +48 -0
  86. data/node_modules/es6-promise/lib/es6-promise/promise.js +427 -0
  87. data/node_modules/es6-promise/lib/es6-promise/then.js +32 -0
  88. data/node_modules/es6-promise/lib/es6-promise/utils.js +21 -0
  89. data/node_modules/es6-promise/lib/es6-promise.auto.js +3 -0
  90. data/node_modules/es6-promise/lib/es6-promise.js +7 -0
  91. data/node_modules/es6-promise/package.json +75 -0
  92. data/node_modules/es6-promisify/README.md +89 -0
  93. data/node_modules/es6-promisify/dist/promise.js +73 -0
  94. data/node_modules/es6-promisify/dist/promisify.js +85 -0
  95. data/node_modules/es6-promisify/package.json +41 -0
  96. data/node_modules/extract-zip/CONTRIBUTING.md +1 -0
  97. data/node_modules/extract-zip/LICENSE +23 -0
  98. data/node_modules/extract-zip/cli.js +20 -0
  99. data/node_modules/extract-zip/index.js +205 -0
  100. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +362 -0
  101. data/node_modules/extract-zip/node_modules/debug/LICENSE +19 -0
  102. data/node_modules/extract-zip/node_modules/debug/Makefile +50 -0
  103. data/node_modules/extract-zip/node_modules/debug/README.md +312 -0
  104. data/node_modules/extract-zip/node_modules/debug/component.json +19 -0
  105. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +70 -0
  106. data/node_modules/extract-zip/node_modules/debug/node.js +1 -0
  107. data/node_modules/extract-zip/node_modules/debug/package.json +49 -0
  108. data/node_modules/extract-zip/node_modules/debug/src/browser.js +185 -0
  109. data/node_modules/extract-zip/node_modules/debug/src/debug.js +202 -0
  110. data/node_modules/extract-zip/node_modules/debug/src/index.js +10 -0
  111. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +15 -0
  112. data/node_modules/extract-zip/node_modules/debug/src/node.js +248 -0
  113. data/node_modules/extract-zip/package.json +35 -0
  114. data/node_modules/extract-zip/readme.md +49 -0
  115. data/node_modules/fd-slicer/CHANGELOG.md +49 -0
  116. data/node_modules/fd-slicer/LICENSE +21 -0
  117. data/node_modules/fd-slicer/README.md +189 -0
  118. data/node_modules/fd-slicer/index.js +277 -0
  119. data/node_modules/fd-slicer/package.json +36 -0
  120. data/node_modules/fd-slicer/test/test.js +350 -0
  121. data/node_modules/fs.realpath/LICENSE +43 -0
  122. data/node_modules/fs.realpath/README.md +33 -0
  123. data/node_modules/fs.realpath/index.js +66 -0
  124. data/node_modules/fs.realpath/old.js +303 -0
  125. data/node_modules/fs.realpath/package.json +26 -0
  126. data/node_modules/glob/LICENSE +15 -0
  127. data/node_modules/glob/README.md +368 -0
  128. data/node_modules/glob/changelog.md +67 -0
  129. data/node_modules/glob/common.js +240 -0
  130. data/node_modules/glob/glob.js +790 -0
  131. data/node_modules/glob/package.json +43 -0
  132. data/node_modules/glob/sync.js +486 -0
  133. data/node_modules/https-proxy-agent/History.md +124 -0
  134. data/node_modules/https-proxy-agent/README.md +137 -0
  135. data/node_modules/https-proxy-agent/index.js +229 -0
  136. data/node_modules/https-proxy-agent/package.json +35 -0
  137. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +15 -0
  138. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +12 -0
  139. data/node_modules/https-proxy-agent/test/test.js +342 -0
  140. data/node_modules/inflight/LICENSE +15 -0
  141. data/node_modules/inflight/README.md +37 -0
  142. data/node_modules/inflight/inflight.js +54 -0
  143. data/node_modules/inflight/package.json +29 -0
  144. data/node_modules/inherits/LICENSE +16 -0
  145. data/node_modules/inherits/README.md +42 -0
  146. data/node_modules/inherits/inherits.js +7 -0
  147. data/node_modules/inherits/inherits_browser.js +23 -0
  148. data/node_modules/inherits/package.json +29 -0
  149. data/node_modules/isarray/Makefile +6 -0
  150. data/node_modules/isarray/README.md +60 -0
  151. data/node_modules/isarray/component.json +19 -0
  152. data/node_modules/isarray/index.js +5 -0
  153. data/node_modules/isarray/package.json +45 -0
  154. data/node_modules/isarray/test.js +20 -0
  155. data/node_modules/mime/CHANGELOG.md +225 -0
  156. data/node_modules/mime/CONTRIBUTING.md +5 -0
  157. data/node_modules/mime/LICENSE +21 -0
  158. data/node_modules/mime/Mime.js +89 -0
  159. data/node_modules/mime/README.md +188 -0
  160. data/node_modules/mime/cli.js +10 -0
  161. data/node_modules/mime/index.js +4 -0
  162. data/node_modules/mime/lite.js +4 -0
  163. data/node_modules/mime/package.json +43 -0
  164. data/node_modules/mime/src/README_js.md +179 -0
  165. data/node_modules/mime/src/build.js +71 -0
  166. data/node_modules/mime/src/test.js +257 -0
  167. data/node_modules/mime/types/other.json +1 -0
  168. data/node_modules/mime/types/standard.json +1 -0
  169. data/node_modules/minimatch/LICENSE +15 -0
  170. data/node_modules/minimatch/README.md +209 -0
  171. data/node_modules/minimatch/minimatch.js +923 -0
  172. data/node_modules/minimatch/package.json +30 -0
  173. data/node_modules/minimist/LICENSE +18 -0
  174. data/node_modules/minimist/example/parse.js +2 -0
  175. data/node_modules/minimist/index.js +187 -0
  176. data/node_modules/minimist/package.json +40 -0
  177. data/node_modules/minimist/readme.markdown +73 -0
  178. data/node_modules/minimist/test/dash.js +24 -0
  179. data/node_modules/minimist/test/default_bool.js +20 -0
  180. data/node_modules/minimist/test/dotted.js +16 -0
  181. data/node_modules/minimist/test/long.js +31 -0
  182. data/node_modules/minimist/test/parse.js +318 -0
  183. data/node_modules/minimist/test/parse_modified.js +9 -0
  184. data/node_modules/minimist/test/short.js +67 -0
  185. data/node_modules/minimist/test/whitespace.js +8 -0
  186. data/node_modules/mkdirp/LICENSE +21 -0
  187. data/node_modules/mkdirp/bin/cmd.js +33 -0
  188. data/node_modules/mkdirp/bin/usage.txt +12 -0
  189. data/node_modules/mkdirp/examples/pow.js +6 -0
  190. data/node_modules/mkdirp/index.js +98 -0
  191. data/node_modules/mkdirp/package.json +27 -0
  192. data/node_modules/mkdirp/readme.markdown +100 -0
  193. data/node_modules/mkdirp/test/chmod.js +41 -0
  194. data/node_modules/mkdirp/test/clobber.js +38 -0
  195. data/node_modules/mkdirp/test/mkdirp.js +28 -0
  196. data/node_modules/mkdirp/test/opts_fs.js +29 -0
  197. data/node_modules/mkdirp/test/opts_fs_sync.js +27 -0
  198. data/node_modules/mkdirp/test/perm.js +32 -0
  199. data/node_modules/mkdirp/test/perm_sync.js +36 -0
  200. data/node_modules/mkdirp/test/race.js +37 -0
  201. data/node_modules/mkdirp/test/rel.js +32 -0
  202. data/node_modules/mkdirp/test/return.js +25 -0
  203. data/node_modules/mkdirp/test/return_sync.js +24 -0
  204. data/node_modules/mkdirp/test/root.js +19 -0
  205. data/node_modules/mkdirp/test/sync.js +32 -0
  206. data/node_modules/mkdirp/test/umask.js +28 -0
  207. data/node_modules/mkdirp/test/umask_sync.js +32 -0
  208. data/node_modules/ms/index.js +152 -0
  209. data/node_modules/ms/license.md +21 -0
  210. data/node_modules/ms/package.json +37 -0
  211. data/node_modules/ms/readme.md +51 -0
  212. data/node_modules/once/LICENSE +15 -0
  213. data/node_modules/once/README.md +79 -0
  214. data/node_modules/once/once.js +42 -0
  215. data/node_modules/once/package.json +33 -0
  216. data/node_modules/path-is-absolute/index.js +20 -0
  217. data/node_modules/path-is-absolute/license +21 -0
  218. data/node_modules/path-is-absolute/package.json +43 -0
  219. data/node_modules/path-is-absolute/readme.md +59 -0
  220. data/node_modules/pend/LICENSE +23 -0
  221. data/node_modules/pend/README.md +41 -0
  222. data/node_modules/pend/index.js +55 -0
  223. data/node_modules/pend/package.json +18 -0
  224. data/node_modules/pend/test.js +137 -0
  225. data/node_modules/process-nextick-args/index.js +44 -0
  226. data/node_modules/process-nextick-args/license.md +19 -0
  227. data/node_modules/process-nextick-args/package.json +25 -0
  228. data/node_modules/process-nextick-args/readme.md +18 -0
  229. data/node_modules/progress/CHANGELOG.md +115 -0
  230. data/node_modules/progress/LICENSE +22 -0
  231. data/node_modules/progress/Makefile +8 -0
  232. data/node_modules/progress/README.md +146 -0
  233. data/node_modules/progress/index.js +1 -0
  234. data/node_modules/progress/lib/node-progress.js +231 -0
  235. data/node_modules/progress/package.json +25 -0
  236. data/node_modules/proxy-from-env/README.md +131 -0
  237. data/node_modules/proxy-from-env/index.js +103 -0
  238. data/node_modules/proxy-from-env/package.json +35 -0
  239. data/node_modules/proxy-from-env/test.js +393 -0
  240. data/node_modules/puppeteer/CONTRIBUTING.md +206 -0
  241. data/node_modules/puppeteer/DeviceDescriptors.js +704 -0
  242. data/node_modules/puppeteer/LICENSE +202 -0
  243. data/node_modules/puppeteer/README.md +306 -0
  244. data/node_modules/puppeteer/index.js +28 -0
  245. data/node_modules/puppeteer/install.js +122 -0
  246. data/node_modules/puppeteer/lib/Browser.js +186 -0
  247. data/node_modules/puppeteer/lib/BrowserFetcher.js +279 -0
  248. data/node_modules/puppeteer/lib/Connection.js +246 -0
  249. data/node_modules/puppeteer/lib/Coverage.js +301 -0
  250. data/node_modules/puppeteer/lib/Dialog.js +84 -0
  251. data/node_modules/puppeteer/lib/ElementHandle.js +328 -0
  252. data/node_modules/puppeteer/lib/EmulationManager.js +89 -0
  253. data/node_modules/puppeteer/lib/ExecutionContext.js +232 -0
  254. data/node_modules/puppeteer/lib/FrameManager.js +997 -0
  255. data/node_modules/puppeteer/lib/Input.js +309 -0
  256. data/node_modules/puppeteer/lib/Launcher.js +310 -0
  257. data/node_modules/puppeteer/lib/Multimap.js +95 -0
  258. data/node_modules/puppeteer/lib/NavigatorWatcher.js +137 -0
  259. data/node_modules/puppeteer/lib/NetworkManager.js +796 -0
  260. data/node_modules/puppeteer/lib/Page.js +1098 -0
  261. data/node_modules/puppeteer/lib/Pipe.js +69 -0
  262. data/node_modules/puppeteer/lib/Puppeteer.js +60 -0
  263. data/node_modules/puppeteer/lib/Target.js +88 -0
  264. data/node_modules/puppeteer/lib/TaskQueue.js +17 -0
  265. data/node_modules/puppeteer/lib/Tracing.js +99 -0
  266. data/node_modules/puppeteer/lib/USKeyboardLayout.js +281 -0
  267. data/node_modules/puppeteer/lib/helper.js +248 -0
  268. data/node_modules/puppeteer/node6/lib/Browser.js +394 -0
  269. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +357 -0
  270. data/node_modules/puppeteer/node6/lib/Connection.js +350 -0
  271. data/node_modules/puppeteer/node6/lib/Coverage.js +561 -0
  272. data/node_modules/puppeteer/node6/lib/Dialog.js +136 -0
  273. data/node_modules/puppeteer/node6/lib/ElementHandle.js +796 -0
  274. data/node_modules/puppeteer/node6/lib/EmulationManager.js +115 -0
  275. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +414 -0
  276. data/node_modules/puppeteer/node6/lib/FrameManager.js +1621 -0
  277. data/node_modules/puppeteer/node6/lib/Input.js +569 -0
  278. data/node_modules/puppeteer/node6/lib/Launcher.js +362 -0
  279. data/node_modules/puppeteer/node6/lib/Multimap.js +95 -0
  280. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +163 -0
  281. data/node_modules/puppeteer/node6/lib/NetworkManager.js +1108 -0
  282. data/node_modules/puppeteer/node6/lib/Page.js +2242 -0
  283. data/node_modules/puppeteer/node6/lib/Pipe.js +69 -0
  284. data/node_modules/puppeteer/node6/lib/Puppeteer.js +60 -0
  285. data/node_modules/puppeteer/node6/lib/Target.js +114 -0
  286. data/node_modules/puppeteer/node6/lib/TaskQueue.js +17 -0
  287. data/node_modules/puppeteer/node6/lib/Tracing.js +177 -0
  288. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +281 -0
  289. data/node_modules/puppeteer/node6/lib/helper.js +274 -0
  290. data/node_modules/puppeteer/package.json +61 -0
  291. data/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  292. data/node_modules/readable-stream/GOVERNANCE.md +136 -0
  293. data/node_modules/readable-stream/LICENSE +47 -0
  294. data/node_modules/readable-stream/README.md +58 -0
  295. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  296. data/node_modules/readable-stream/duplex-browser.js +1 -0
  297. data/node_modules/readable-stream/duplex.js +1 -0
  298. data/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  299. data/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  300. data/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  301. data/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  302. data/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  303. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  304. data/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  305. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  306. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  307. data/node_modules/readable-stream/package.json +52 -0
  308. data/node_modules/readable-stream/passthrough.js +1 -0
  309. data/node_modules/readable-stream/readable-browser.js +7 -0
  310. data/node_modules/readable-stream/readable.js +19 -0
  311. data/node_modules/readable-stream/transform.js +1 -0
  312. data/node_modules/readable-stream/writable-browser.js +1 -0
  313. data/node_modules/readable-stream/writable.js +8 -0
  314. data/node_modules/rimraf/LICENSE +15 -0
  315. data/node_modules/rimraf/README.md +101 -0
  316. data/node_modules/rimraf/bin.js +50 -0
  317. data/node_modules/rimraf/package.json +26 -0
  318. data/node_modules/rimraf/rimraf.js +364 -0
  319. data/node_modules/safe-buffer/LICENSE +21 -0
  320. data/node_modules/safe-buffer/README.md +584 -0
  321. data/node_modules/safe-buffer/index.d.ts +187 -0
  322. data/node_modules/safe-buffer/index.js +62 -0
  323. data/node_modules/safe-buffer/package.json +37 -0
  324. data/node_modules/string_decoder/LICENSE +48 -0
  325. data/node_modules/string_decoder/README.md +47 -0
  326. data/node_modules/string_decoder/lib/string_decoder.js +296 -0
  327. data/node_modules/string_decoder/package.json +31 -0
  328. data/node_modules/typedarray/LICENSE +35 -0
  329. data/node_modules/typedarray/example/tarray.js +4 -0
  330. data/node_modules/typedarray/index.js +630 -0
  331. data/node_modules/typedarray/package.json +55 -0
  332. data/node_modules/typedarray/readme.markdown +61 -0
  333. data/node_modules/typedarray/test/server/undef_globals.js +19 -0
  334. data/node_modules/typedarray/test/tarray.js +10 -0
  335. data/node_modules/ultron/LICENSE +22 -0
  336. data/node_modules/ultron/README.md +113 -0
  337. data/node_modules/ultron/index.js +136 -0
  338. data/node_modules/ultron/package.json +41 -0
  339. data/node_modules/util-deprecate/History.md +16 -0
  340. data/node_modules/util-deprecate/LICENSE +24 -0
  341. data/node_modules/util-deprecate/README.md +53 -0
  342. data/node_modules/util-deprecate/browser.js +67 -0
  343. data/node_modules/util-deprecate/node.js +6 -0
  344. data/node_modules/util-deprecate/package.json +27 -0
  345. data/node_modules/wrappy/LICENSE +15 -0
  346. data/node_modules/wrappy/README.md +36 -0
  347. data/node_modules/wrappy/package.json +29 -0
  348. data/node_modules/wrappy/wrappy.js +33 -0
  349. data/node_modules/ws/LICENSE +21 -0
  350. data/node_modules/ws/README.md +341 -0
  351. data/node_modules/ws/index.js +15 -0
  352. data/node_modules/ws/lib/BufferUtil.js +71 -0
  353. data/node_modules/ws/lib/Constants.js +10 -0
  354. data/node_modules/ws/lib/ErrorCodes.js +28 -0
  355. data/node_modules/ws/lib/EventTarget.js +151 -0
  356. data/node_modules/ws/lib/Extensions.js +203 -0
  357. data/node_modules/ws/lib/PerMessageDeflate.js +507 -0
  358. data/node_modules/ws/lib/Receiver.js +553 -0
  359. data/node_modules/ws/lib/Sender.js +412 -0
  360. data/node_modules/ws/lib/Validation.js +17 -0
  361. data/node_modules/ws/lib/WebSocket.js +717 -0
  362. data/node_modules/ws/lib/WebSocketServer.js +326 -0
  363. data/node_modules/ws/package.json +46 -0
  364. data/node_modules/yauzl/LICENSE +21 -0
  365. data/node_modules/yauzl/README.md +467 -0
  366. data/node_modules/yauzl/index.js +626 -0
  367. data/node_modules/yauzl/package.json +36 -0
  368. data/package.json +5 -0
  369. data/yarn.lock +240 -0
  370. metadata +372 -7
  371. data/app/assets/stylesheets/default.css +0 -4
  372. data/lib/postdoc/postdoc_view_helper.rb +0 -22
@@ -0,0 +1,412 @@
1
+ /*!
2
+ * ws: a node.js websocket client
3
+ * Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
4
+ * MIT Licensed
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ const safeBuffer = require('safe-buffer');
10
+ const crypto = require('crypto');
11
+
12
+ const PerMessageDeflate = require('./PerMessageDeflate');
13
+ const bufferUtil = require('./BufferUtil');
14
+ const ErrorCodes = require('./ErrorCodes');
15
+ const constants = require('./Constants');
16
+
17
+ const Buffer = safeBuffer.Buffer;
18
+
19
+ /**
20
+ * HyBi Sender implementation.
21
+ */
22
+ class Sender {
23
+ /**
24
+ * Creates a Sender instance.
25
+ *
26
+ * @param {net.Socket} socket The connection socket
27
+ * @param {Object} extensions An object containing the negotiated extensions
28
+ */
29
+ constructor (socket, extensions) {
30
+ this._extensions = extensions || {};
31
+ this._socket = socket;
32
+
33
+ this._firstFragment = true;
34
+ this._compress = false;
35
+
36
+ this._bufferedBytes = 0;
37
+ this._deflating = false;
38
+ this._queue = [];
39
+ }
40
+
41
+ /**
42
+ * Frames a piece of data according to the HyBi WebSocket protocol.
43
+ *
44
+ * @param {Buffer} data The data to frame
45
+ * @param {Object} options Options object
46
+ * @param {Number} options.opcode The opcode
47
+ * @param {Boolean} options.readOnly Specifies whether `data` can be modified
48
+ * @param {Boolean} options.fin Specifies whether or not to set the FIN bit
49
+ * @param {Boolean} options.mask Specifies whether or not to mask `data`
50
+ * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit
51
+ * @return {Buffer[]} The framed data as a list of `Buffer` instances
52
+ * @public
53
+ */
54
+ static frame (data, options) {
55
+ const merge = data.length < 1024 || (options.mask && options.readOnly);
56
+ var offset = options.mask ? 6 : 2;
57
+ var payloadLength = data.length;
58
+
59
+ if (data.length >= 65536) {
60
+ offset += 8;
61
+ payloadLength = 127;
62
+ } else if (data.length > 125) {
63
+ offset += 2;
64
+ payloadLength = 126;
65
+ }
66
+
67
+ const target = Buffer.allocUnsafe(merge ? data.length + offset : offset);
68
+
69
+ target[0] = options.fin ? options.opcode | 0x80 : options.opcode;
70
+ if (options.rsv1) target[0] |= 0x40;
71
+
72
+ if (payloadLength === 126) {
73
+ target.writeUInt16BE(data.length, 2, true);
74
+ } else if (payloadLength === 127) {
75
+ target.writeUInt32BE(0, 2, true);
76
+ target.writeUInt32BE(data.length, 6, true);
77
+ }
78
+
79
+ if (!options.mask) {
80
+ target[1] = payloadLength;
81
+ if (merge) {
82
+ data.copy(target, offset);
83
+ return [target];
84
+ }
85
+
86
+ return [target, data];
87
+ }
88
+
89
+ const mask = crypto.randomBytes(4);
90
+
91
+ target[1] = payloadLength | 0x80;
92
+ target[offset - 4] = mask[0];
93
+ target[offset - 3] = mask[1];
94
+ target[offset - 2] = mask[2];
95
+ target[offset - 1] = mask[3];
96
+
97
+ if (merge) {
98
+ bufferUtil.mask(data, mask, target, offset, data.length);
99
+ return [target];
100
+ }
101
+
102
+ bufferUtil.mask(data, mask, data, 0, data.length);
103
+ return [target, data];
104
+ }
105
+
106
+ /**
107
+ * Sends a close message to the other peer.
108
+ *
109
+ * @param {(Number|undefined)} code The status code component of the body
110
+ * @param {String} data The message component of the body
111
+ * @param {Boolean} mask Specifies whether or not to mask the message
112
+ * @param {Function} cb Callback
113
+ * @public
114
+ */
115
+ close (code, data, mask, cb) {
116
+ var buf;
117
+
118
+ if (code === undefined) {
119
+ code = 1000;
120
+ } else if (typeof code !== 'number' || !ErrorCodes.isValidErrorCode(code)) {
121
+ throw new Error('first argument must be a valid error code number');
122
+ }
123
+
124
+ if (data === undefined || data === '') {
125
+ if (code === 1000) {
126
+ buf = constants.EMPTY_BUFFER;
127
+ } else {
128
+ buf = Buffer.allocUnsafe(2);
129
+ buf.writeUInt16BE(code, 0, true);
130
+ }
131
+ } else {
132
+ buf = Buffer.allocUnsafe(2 + Buffer.byteLength(data));
133
+ buf.writeUInt16BE(code, 0, true);
134
+ buf.write(data, 2);
135
+ }
136
+
137
+ if (this._deflating) {
138
+ this.enqueue([this.doClose, buf, mask, cb]);
139
+ } else {
140
+ this.doClose(buf, mask, cb);
141
+ }
142
+ }
143
+
144
+ /**
145
+ * Frames and sends a close message.
146
+ *
147
+ * @param {Buffer} data The message to send
148
+ * @param {Boolean} mask Specifies whether or not to mask `data`
149
+ * @param {Function} cb Callback
150
+ * @private
151
+ */
152
+ doClose (data, mask, cb) {
153
+ this.sendFrame(Sender.frame(data, {
154
+ fin: true,
155
+ rsv1: false,
156
+ opcode: 0x08,
157
+ mask,
158
+ readOnly: false
159
+ }), cb);
160
+ }
161
+
162
+ /**
163
+ * Sends a ping message to the other peer.
164
+ *
165
+ * @param {*} data The message to send
166
+ * @param {Boolean} mask Specifies whether or not to mask `data`
167
+ * @public
168
+ */
169
+ ping (data, mask) {
170
+ var readOnly = true;
171
+
172
+ if (!Buffer.isBuffer(data)) {
173
+ if (data instanceof ArrayBuffer) {
174
+ data = Buffer.from(data);
175
+ } else if (ArrayBuffer.isView(data)) {
176
+ data = viewToBuffer(data);
177
+ } else {
178
+ data = Buffer.from(data);
179
+ readOnly = false;
180
+ }
181
+ }
182
+
183
+ if (this._deflating) {
184
+ this.enqueue([this.doPing, data, mask, readOnly]);
185
+ } else {
186
+ this.doPing(data, mask, readOnly);
187
+ }
188
+ }
189
+
190
+ /**
191
+ * Frames and sends a ping message.
192
+ *
193
+ * @param {*} data The message to send
194
+ * @param {Boolean} mask Specifies whether or not to mask `data`
195
+ * @param {Boolean} readOnly Specifies whether `data` can be modified
196
+ * @private
197
+ */
198
+ doPing (data, mask, readOnly) {
199
+ this.sendFrame(Sender.frame(data, {
200
+ fin: true,
201
+ rsv1: false,
202
+ opcode: 0x09,
203
+ mask,
204
+ readOnly
205
+ }));
206
+ }
207
+
208
+ /**
209
+ * Sends a pong message to the other peer.
210
+ *
211
+ * @param {*} data The message to send
212
+ * @param {Boolean} mask Specifies whether or not to mask `data`
213
+ * @public
214
+ */
215
+ pong (data, mask) {
216
+ var readOnly = true;
217
+
218
+ if (!Buffer.isBuffer(data)) {
219
+ if (data instanceof ArrayBuffer) {
220
+ data = Buffer.from(data);
221
+ } else if (ArrayBuffer.isView(data)) {
222
+ data = viewToBuffer(data);
223
+ } else {
224
+ data = Buffer.from(data);
225
+ readOnly = false;
226
+ }
227
+ }
228
+
229
+ if (this._deflating) {
230
+ this.enqueue([this.doPong, data, mask, readOnly]);
231
+ } else {
232
+ this.doPong(data, mask, readOnly);
233
+ }
234
+ }
235
+
236
+ /**
237
+ * Frames and sends a pong message.
238
+ *
239
+ * @param {*} data The message to send
240
+ * @param {Boolean} mask Specifies whether or not to mask `data`
241
+ * @param {Boolean} readOnly Specifies whether `data` can be modified
242
+ * @private
243
+ */
244
+ doPong (data, mask, readOnly) {
245
+ this.sendFrame(Sender.frame(data, {
246
+ fin: true,
247
+ rsv1: false,
248
+ opcode: 0x0a,
249
+ mask,
250
+ readOnly
251
+ }));
252
+ }
253
+
254
+ /**
255
+ * Sends a data message to the other peer.
256
+ *
257
+ * @param {*} data The message to send
258
+ * @param {Object} options Options object
259
+ * @param {Boolean} options.compress Specifies whether or not to compress `data`
260
+ * @param {Boolean} options.binary Specifies whether `data` is binary or text
261
+ * @param {Boolean} options.fin Specifies whether the fragment is the last one
262
+ * @param {Boolean} options.mask Specifies whether or not to mask `data`
263
+ * @param {Function} cb Callback
264
+ * @public
265
+ */
266
+ send (data, options, cb) {
267
+ var opcode = options.binary ? 2 : 1;
268
+ var rsv1 = options.compress;
269
+ var readOnly = true;
270
+
271
+ if (!Buffer.isBuffer(data)) {
272
+ if (data instanceof ArrayBuffer) {
273
+ data = Buffer.from(data);
274
+ } else if (ArrayBuffer.isView(data)) {
275
+ data = viewToBuffer(data);
276
+ } else {
277
+ data = Buffer.from(data);
278
+ readOnly = false;
279
+ }
280
+ }
281
+
282
+ const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
283
+
284
+ if (this._firstFragment) {
285
+ this._firstFragment = false;
286
+ if (rsv1 && perMessageDeflate) {
287
+ rsv1 = data.length >= perMessageDeflate._threshold;
288
+ }
289
+ this._compress = rsv1;
290
+ } else {
291
+ rsv1 = false;
292
+ opcode = 0;
293
+ }
294
+
295
+ if (options.fin) this._firstFragment = true;
296
+
297
+ if (perMessageDeflate) {
298
+ const opts = {
299
+ fin: options.fin,
300
+ rsv1,
301
+ opcode,
302
+ mask: options.mask,
303
+ readOnly
304
+ };
305
+
306
+ if (this._deflating) {
307
+ this.enqueue([this.dispatch, data, this._compress, opts, cb]);
308
+ } else {
309
+ this.dispatch(data, this._compress, opts, cb);
310
+ }
311
+ } else {
312
+ this.sendFrame(Sender.frame(data, {
313
+ fin: options.fin,
314
+ rsv1: false,
315
+ opcode,
316
+ mask: options.mask,
317
+ readOnly
318
+ }), cb);
319
+ }
320
+ }
321
+
322
+ /**
323
+ * Dispatches a data message.
324
+ *
325
+ * @param {Buffer} data The message to send
326
+ * @param {Boolean} compress Specifies whether or not to compress `data`
327
+ * @param {Object} options Options object
328
+ * @param {Number} options.opcode The opcode
329
+ * @param {Boolean} options.readOnly Specifies whether `data` can be modified
330
+ * @param {Boolean} options.fin Specifies whether or not to set the FIN bit
331
+ * @param {Boolean} options.mask Specifies whether or not to mask `data`
332
+ * @param {Boolean} options.rsv1 Specifies whether or not to set the RSV1 bit
333
+ * @param {Function} cb Callback
334
+ * @private
335
+ */
336
+ dispatch (data, compress, options, cb) {
337
+ if (!compress) {
338
+ this.sendFrame(Sender.frame(data, options), cb);
339
+ return;
340
+ }
341
+
342
+ const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
343
+
344
+ this._deflating = true;
345
+ perMessageDeflate.compress(data, options.fin, (_, buf) => {
346
+ options.readOnly = false;
347
+ this.sendFrame(Sender.frame(buf, options), cb);
348
+ this._deflating = false;
349
+ this.dequeue();
350
+ });
351
+ }
352
+
353
+ /**
354
+ * Executes queued send operations.
355
+ *
356
+ * @private
357
+ */
358
+ dequeue () {
359
+ while (!this._deflating && this._queue.length) {
360
+ const params = this._queue.shift();
361
+
362
+ this._bufferedBytes -= params[1].length;
363
+ params[0].apply(this, params.slice(1));
364
+ }
365
+ }
366
+
367
+ /**
368
+ * Enqueues a send operation.
369
+ *
370
+ * @param {Array} params Send operation parameters.
371
+ * @private
372
+ */
373
+ enqueue (params) {
374
+ this._bufferedBytes += params[1].length;
375
+ this._queue.push(params);
376
+ }
377
+
378
+ /**
379
+ * Sends a frame.
380
+ *
381
+ * @param {Buffer[]} list The frame to send
382
+ * @param {Function} cb Callback
383
+ * @private
384
+ */
385
+ sendFrame (list, cb) {
386
+ if (list.length === 2) {
387
+ this._socket.write(list[0]);
388
+ this._socket.write(list[1], cb);
389
+ } else {
390
+ this._socket.write(list[0], cb);
391
+ }
392
+ }
393
+ }
394
+
395
+ module.exports = Sender;
396
+
397
+ /**
398
+ * Converts an `ArrayBuffer` view into a buffer.
399
+ *
400
+ * @param {(DataView|TypedArray)} view The view to convert
401
+ * @return {Buffer} Converted view
402
+ * @private
403
+ */
404
+ function viewToBuffer (view) {
405
+ const buf = Buffer.from(view.buffer);
406
+
407
+ if (view.byteLength !== view.buffer.byteLength) {
408
+ return buf.slice(view.byteOffset, view.byteOffset + view.byteLength);
409
+ }
410
+
411
+ return buf;
412
+ }
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * ws: a node.js websocket client
3
+ * Copyright(c) 2011 Einar Otto Stangvik <einaros@gmail.com>
4
+ * MIT Licensed
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ try {
10
+ const isValidUTF8 = require('utf-8-validate');
11
+
12
+ module.exports = typeof isValidUTF8 === 'object'
13
+ ? isValidUTF8.Validation.isValidUTF8 // utf-8-validate@<3.0.0
14
+ : isValidUTF8;
15
+ } catch (e) /* istanbul ignore next */ {
16
+ module.exports = () => true;
17
+ }