postdoc 0.1.2 → 0.2.0.beta4

Sign up to get free protection for your applications and to get access to all the features.
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
+ }