postdoc 0.2.0.beta4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc/postdoc_view_helper.rb +15 -0
  3. data/lib/postdoc.rb +34 -14
  4. metadata +20 -373
  5. data/lib/pdf.js +0 -27
  6. data/node_modules/agent-base/History.md +0 -113
  7. data/node_modules/agent-base/README.md +0 -145
  8. data/node_modules/agent-base/index.js +0 -160
  9. data/node_modules/agent-base/package.json +0 -35
  10. data/node_modules/agent-base/patch-core.js +0 -37
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  12. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  13. data/node_modules/agent-base/test/test.js +0 -673
  14. data/node_modules/async-limiter/LICENSE +0 -8
  15. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  17. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  18. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  19. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  22. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  23. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  24. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  25. data/node_modules/async-limiter/index.js +0 -67
  26. data/node_modules/async-limiter/package.json +0 -35
  27. data/node_modules/async-limiter/readme.md +0 -132
  28. data/node_modules/balanced-match/LICENSE.md +0 -21
  29. data/node_modules/balanced-match/README.md +0 -91
  30. data/node_modules/balanced-match/index.js +0 -59
  31. data/node_modules/balanced-match/package.json +0 -49
  32. data/node_modules/brace-expansion/LICENSE +0 -21
  33. data/node_modules/brace-expansion/README.md +0 -129
  34. data/node_modules/brace-expansion/index.js +0 -201
  35. data/node_modules/brace-expansion/package.json +0 -47
  36. data/node_modules/buffer-from/index.js +0 -69
  37. data/node_modules/buffer-from/package.json +0 -16
  38. data/node_modules/buffer-from/readme.md +0 -69
  39. data/node_modules/buffer-from/test.js +0 -12
  40. data/node_modules/concat-map/LICENSE +0 -18
  41. data/node_modules/concat-map/README.markdown +0 -62
  42. data/node_modules/concat-map/example/map.js +0 -6
  43. data/node_modules/concat-map/index.js +0 -13
  44. data/node_modules/concat-map/package.json +0 -43
  45. data/node_modules/concat-map/test/map.js +0 -39
  46. data/node_modules/concat-stream/LICENSE +0 -24
  47. data/node_modules/concat-stream/index.js +0 -144
  48. data/node_modules/concat-stream/package.json +0 -55
  49. data/node_modules/concat-stream/readme.md +0 -102
  50. data/node_modules/core-util-is/LICENSE +0 -19
  51. data/node_modules/core-util-is/README.md +0 -3
  52. data/node_modules/core-util-is/float.patch +0 -604
  53. data/node_modules/core-util-is/lib/util.js +0 -107
  54. data/node_modules/core-util-is/package.json +0 -32
  55. data/node_modules/core-util-is/test.js +0 -68
  56. data/node_modules/debug/CHANGELOG.md +0 -395
  57. data/node_modules/debug/LICENSE +0 -19
  58. data/node_modules/debug/Makefile +0 -58
  59. data/node_modules/debug/README.md +0 -368
  60. data/node_modules/debug/karma.conf.js +0 -70
  61. data/node_modules/debug/node.js +0 -1
  62. data/node_modules/debug/package.json +0 -43
  63. data/node_modules/debug/src/browser.js +0 -195
  64. data/node_modules/debug/src/debug.js +0 -225
  65. data/node_modules/debug/src/index.js +0 -10
  66. data/node_modules/debug/src/node.js +0 -186
  67. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  68. data/node_modules/es6-promise/LICENSE +0 -19
  69. data/node_modules/es6-promise/README.md +0 -97
  70. data/node_modules/es6-promise/auto.js +0 -4
  71. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  72. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  75. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  76. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  78. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  79. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  80. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  81. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  82. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  83. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  84. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  85. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  86. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  87. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  88. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  89. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  90. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  91. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  92. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  93. data/node_modules/es6-promise/package.json +0 -75
  94. data/node_modules/es6-promisify/README.md +0 -89
  95. data/node_modules/es6-promisify/dist/promise.js +0 -73
  96. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  97. data/node_modules/es6-promisify/package.json +0 -41
  98. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  99. data/node_modules/extract-zip/LICENSE +0 -23
  100. data/node_modules/extract-zip/cli.js +0 -20
  101. data/node_modules/extract-zip/index.js +0 -205
  102. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  103. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  104. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  105. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  106. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  107. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  108. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  109. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  110. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  111. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  112. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  113. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  114. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  115. data/node_modules/extract-zip/package.json +0 -35
  116. data/node_modules/extract-zip/readme.md +0 -49
  117. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  118. data/node_modules/fd-slicer/LICENSE +0 -21
  119. data/node_modules/fd-slicer/README.md +0 -189
  120. data/node_modules/fd-slicer/index.js +0 -277
  121. data/node_modules/fd-slicer/package.json +0 -36
  122. data/node_modules/fd-slicer/test/test.js +0 -350
  123. data/node_modules/fs.realpath/LICENSE +0 -43
  124. data/node_modules/fs.realpath/README.md +0 -33
  125. data/node_modules/fs.realpath/index.js +0 -66
  126. data/node_modules/fs.realpath/old.js +0 -303
  127. data/node_modules/fs.realpath/package.json +0 -26
  128. data/node_modules/glob/LICENSE +0 -15
  129. data/node_modules/glob/README.md +0 -368
  130. data/node_modules/glob/changelog.md +0 -67
  131. data/node_modules/glob/common.js +0 -240
  132. data/node_modules/glob/glob.js +0 -790
  133. data/node_modules/glob/package.json +0 -43
  134. data/node_modules/glob/sync.js +0 -486
  135. data/node_modules/https-proxy-agent/History.md +0 -124
  136. data/node_modules/https-proxy-agent/README.md +0 -137
  137. data/node_modules/https-proxy-agent/index.js +0 -229
  138. data/node_modules/https-proxy-agent/package.json +0 -35
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  140. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  141. data/node_modules/https-proxy-agent/test/test.js +0 -342
  142. data/node_modules/inflight/LICENSE +0 -15
  143. data/node_modules/inflight/README.md +0 -37
  144. data/node_modules/inflight/inflight.js +0 -54
  145. data/node_modules/inflight/package.json +0 -29
  146. data/node_modules/inherits/LICENSE +0 -16
  147. data/node_modules/inherits/README.md +0 -42
  148. data/node_modules/inherits/inherits.js +0 -7
  149. data/node_modules/inherits/inherits_browser.js +0 -23
  150. data/node_modules/inherits/package.json +0 -29
  151. data/node_modules/isarray/Makefile +0 -6
  152. data/node_modules/isarray/README.md +0 -60
  153. data/node_modules/isarray/component.json +0 -19
  154. data/node_modules/isarray/index.js +0 -5
  155. data/node_modules/isarray/package.json +0 -45
  156. data/node_modules/isarray/test.js +0 -20
  157. data/node_modules/mime/CHANGELOG.md +0 -225
  158. data/node_modules/mime/CONTRIBUTING.md +0 -5
  159. data/node_modules/mime/LICENSE +0 -21
  160. data/node_modules/mime/Mime.js +0 -89
  161. data/node_modules/mime/README.md +0 -188
  162. data/node_modules/mime/cli.js +0 -10
  163. data/node_modules/mime/index.js +0 -4
  164. data/node_modules/mime/lite.js +0 -4
  165. data/node_modules/mime/package.json +0 -43
  166. data/node_modules/mime/src/README_js.md +0 -179
  167. data/node_modules/mime/src/build.js +0 -71
  168. data/node_modules/mime/src/test.js +0 -257
  169. data/node_modules/mime/types/other.json +0 -1
  170. data/node_modules/mime/types/standard.json +0 -1
  171. data/node_modules/minimatch/LICENSE +0 -15
  172. data/node_modules/minimatch/README.md +0 -209
  173. data/node_modules/minimatch/minimatch.js +0 -923
  174. data/node_modules/minimatch/package.json +0 -30
  175. data/node_modules/minimist/LICENSE +0 -18
  176. data/node_modules/minimist/example/parse.js +0 -2
  177. data/node_modules/minimist/index.js +0 -187
  178. data/node_modules/minimist/package.json +0 -40
  179. data/node_modules/minimist/readme.markdown +0 -73
  180. data/node_modules/minimist/test/dash.js +0 -24
  181. data/node_modules/minimist/test/default_bool.js +0 -20
  182. data/node_modules/minimist/test/dotted.js +0 -16
  183. data/node_modules/minimist/test/long.js +0 -31
  184. data/node_modules/minimist/test/parse.js +0 -318
  185. data/node_modules/minimist/test/parse_modified.js +0 -9
  186. data/node_modules/minimist/test/short.js +0 -67
  187. data/node_modules/minimist/test/whitespace.js +0 -8
  188. data/node_modules/mkdirp/LICENSE +0 -21
  189. data/node_modules/mkdirp/bin/cmd.js +0 -33
  190. data/node_modules/mkdirp/bin/usage.txt +0 -12
  191. data/node_modules/mkdirp/examples/pow.js +0 -6
  192. data/node_modules/mkdirp/index.js +0 -98
  193. data/node_modules/mkdirp/package.json +0 -27
  194. data/node_modules/mkdirp/readme.markdown +0 -100
  195. data/node_modules/mkdirp/test/chmod.js +0 -41
  196. data/node_modules/mkdirp/test/clobber.js +0 -38
  197. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  198. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  199. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  200. data/node_modules/mkdirp/test/perm.js +0 -32
  201. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  202. data/node_modules/mkdirp/test/race.js +0 -37
  203. data/node_modules/mkdirp/test/rel.js +0 -32
  204. data/node_modules/mkdirp/test/return.js +0 -25
  205. data/node_modules/mkdirp/test/return_sync.js +0 -24
  206. data/node_modules/mkdirp/test/root.js +0 -19
  207. data/node_modules/mkdirp/test/sync.js +0 -32
  208. data/node_modules/mkdirp/test/umask.js +0 -28
  209. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  210. data/node_modules/ms/index.js +0 -152
  211. data/node_modules/ms/license.md +0 -21
  212. data/node_modules/ms/package.json +0 -37
  213. data/node_modules/ms/readme.md +0 -51
  214. data/node_modules/once/LICENSE +0 -15
  215. data/node_modules/once/README.md +0 -79
  216. data/node_modules/once/once.js +0 -42
  217. data/node_modules/once/package.json +0 -33
  218. data/node_modules/path-is-absolute/index.js +0 -20
  219. data/node_modules/path-is-absolute/license +0 -21
  220. data/node_modules/path-is-absolute/package.json +0 -43
  221. data/node_modules/path-is-absolute/readme.md +0 -59
  222. data/node_modules/pend/LICENSE +0 -23
  223. data/node_modules/pend/README.md +0 -41
  224. data/node_modules/pend/index.js +0 -55
  225. data/node_modules/pend/package.json +0 -18
  226. data/node_modules/pend/test.js +0 -137
  227. data/node_modules/process-nextick-args/index.js +0 -44
  228. data/node_modules/process-nextick-args/license.md +0 -19
  229. data/node_modules/process-nextick-args/package.json +0 -25
  230. data/node_modules/process-nextick-args/readme.md +0 -18
  231. data/node_modules/progress/CHANGELOG.md +0 -115
  232. data/node_modules/progress/LICENSE +0 -22
  233. data/node_modules/progress/Makefile +0 -8
  234. data/node_modules/progress/README.md +0 -146
  235. data/node_modules/progress/index.js +0 -1
  236. data/node_modules/progress/lib/node-progress.js +0 -231
  237. data/node_modules/progress/package.json +0 -25
  238. data/node_modules/proxy-from-env/README.md +0 -131
  239. data/node_modules/proxy-from-env/index.js +0 -103
  240. data/node_modules/proxy-from-env/package.json +0 -35
  241. data/node_modules/proxy-from-env/test.js +0 -393
  242. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  243. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  244. data/node_modules/puppeteer/LICENSE +0 -202
  245. data/node_modules/puppeteer/README.md +0 -306
  246. data/node_modules/puppeteer/index.js +0 -28
  247. data/node_modules/puppeteer/install.js +0 -122
  248. data/node_modules/puppeteer/lib/Browser.js +0 -186
  249. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  250. data/node_modules/puppeteer/lib/Connection.js +0 -246
  251. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  252. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  253. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  254. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  255. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  256. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  257. data/node_modules/puppeteer/lib/Input.js +0 -309
  258. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  259. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  260. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  261. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  262. data/node_modules/puppeteer/lib/Page.js +0 -1098
  263. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  264. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  265. data/node_modules/puppeteer/lib/Target.js +0 -88
  266. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  267. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  268. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  269. data/node_modules/puppeteer/lib/helper.js +0 -248
  270. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  271. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  272. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  273. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  274. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  275. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  276. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  277. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  278. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  279. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  280. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  281. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  282. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  283. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  284. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  285. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  286. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  287. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  288. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  289. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  290. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  291. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  292. data/node_modules/puppeteer/package.json +0 -61
  293. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  294. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  295. data/node_modules/readable-stream/LICENSE +0 -47
  296. data/node_modules/readable-stream/README.md +0 -58
  297. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  298. data/node_modules/readable-stream/duplex-browser.js +0 -1
  299. data/node_modules/readable-stream/duplex.js +0 -1
  300. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  301. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  302. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  303. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  304. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  305. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  306. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  307. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  308. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  309. data/node_modules/readable-stream/package.json +0 -52
  310. data/node_modules/readable-stream/passthrough.js +0 -1
  311. data/node_modules/readable-stream/readable-browser.js +0 -7
  312. data/node_modules/readable-stream/readable.js +0 -19
  313. data/node_modules/readable-stream/transform.js +0 -1
  314. data/node_modules/readable-stream/writable-browser.js +0 -1
  315. data/node_modules/readable-stream/writable.js +0 -8
  316. data/node_modules/rimraf/LICENSE +0 -15
  317. data/node_modules/rimraf/README.md +0 -101
  318. data/node_modules/rimraf/bin.js +0 -50
  319. data/node_modules/rimraf/package.json +0 -26
  320. data/node_modules/rimraf/rimraf.js +0 -364
  321. data/node_modules/safe-buffer/LICENSE +0 -21
  322. data/node_modules/safe-buffer/README.md +0 -584
  323. data/node_modules/safe-buffer/index.d.ts +0 -187
  324. data/node_modules/safe-buffer/index.js +0 -62
  325. data/node_modules/safe-buffer/package.json +0 -37
  326. data/node_modules/string_decoder/LICENSE +0 -48
  327. data/node_modules/string_decoder/README.md +0 -47
  328. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  329. data/node_modules/string_decoder/package.json +0 -31
  330. data/node_modules/typedarray/LICENSE +0 -35
  331. data/node_modules/typedarray/example/tarray.js +0 -4
  332. data/node_modules/typedarray/index.js +0 -630
  333. data/node_modules/typedarray/package.json +0 -55
  334. data/node_modules/typedarray/readme.markdown +0 -61
  335. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  336. data/node_modules/typedarray/test/tarray.js +0 -10
  337. data/node_modules/ultron/LICENSE +0 -22
  338. data/node_modules/ultron/README.md +0 -113
  339. data/node_modules/ultron/index.js +0 -136
  340. data/node_modules/ultron/package.json +0 -41
  341. data/node_modules/util-deprecate/History.md +0 -16
  342. data/node_modules/util-deprecate/LICENSE +0 -24
  343. data/node_modules/util-deprecate/README.md +0 -53
  344. data/node_modules/util-deprecate/browser.js +0 -67
  345. data/node_modules/util-deprecate/node.js +0 -6
  346. data/node_modules/util-deprecate/package.json +0 -27
  347. data/node_modules/wrappy/LICENSE +0 -15
  348. data/node_modules/wrappy/README.md +0 -36
  349. data/node_modules/wrappy/package.json +0 -29
  350. data/node_modules/wrappy/wrappy.js +0 -33
  351. data/node_modules/ws/LICENSE +0 -21
  352. data/node_modules/ws/README.md +0 -341
  353. data/node_modules/ws/index.js +0 -15
  354. data/node_modules/ws/lib/BufferUtil.js +0 -71
  355. data/node_modules/ws/lib/Constants.js +0 -10
  356. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  357. data/node_modules/ws/lib/EventTarget.js +0 -151
  358. data/node_modules/ws/lib/Extensions.js +0 -203
  359. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  360. data/node_modules/ws/lib/Receiver.js +0 -553
  361. data/node_modules/ws/lib/Sender.js +0 -412
  362. data/node_modules/ws/lib/Validation.js +0 -17
  363. data/node_modules/ws/lib/WebSocket.js +0 -717
  364. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  365. data/node_modules/ws/package.json +0 -46
  366. data/node_modules/yauzl/LICENSE +0 -21
  367. data/node_modules/yauzl/README.md +0 -467
  368. data/node_modules/yauzl/index.js +0 -626
  369. data/node_modules/yauzl/package.json +0 -36
  370. data/package.json +0 -5
  371. data/yarn.lock +0 -240
@@ -1,553 +0,0 @@
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
-
11
- const PerMessageDeflate = require('./PerMessageDeflate');
12
- const isValidUTF8 = require('./Validation');
13
- const bufferUtil = require('./BufferUtil');
14
- const ErrorCodes = require('./ErrorCodes');
15
- const constants = require('./Constants');
16
-
17
- const Buffer = safeBuffer.Buffer;
18
-
19
- const GET_INFO = 0;
20
- const GET_PAYLOAD_LENGTH_16 = 1;
21
- const GET_PAYLOAD_LENGTH_64 = 2;
22
- const GET_MASK = 3;
23
- const GET_DATA = 4;
24
- const INFLATING = 5;
25
-
26
- /**
27
- * HyBi Receiver implementation.
28
- */
29
- class Receiver {
30
- /**
31
- * Creates a Receiver instance.
32
- *
33
- * @param {Object} extensions An object containing the negotiated extensions
34
- * @param {Number} maxPayload The maximum allowed message length
35
- * @param {String} binaryType The type for binary data
36
- */
37
- constructor (extensions, maxPayload, binaryType) {
38
- this._binaryType = binaryType || constants.BINARY_TYPES[0];
39
- this._extensions = extensions || {};
40
- this._maxPayload = maxPayload | 0;
41
-
42
- this._bufferedBytes = 0;
43
- this._buffers = [];
44
-
45
- this._compressed = false;
46
- this._payloadLength = 0;
47
- this._fragmented = 0;
48
- this._masked = false;
49
- this._fin = false;
50
- this._mask = null;
51
- this._opcode = 0;
52
-
53
- this._totalPayloadLength = 0;
54
- this._messageLength = 0;
55
- this._fragments = [];
56
-
57
- this._cleanupCallback = null;
58
- this._hadError = false;
59
- this._dead = false;
60
- this._loop = false;
61
-
62
- this.onmessage = null;
63
- this.onclose = null;
64
- this.onerror = null;
65
- this.onping = null;
66
- this.onpong = null;
67
-
68
- this._state = GET_INFO;
69
- }
70
-
71
- /**
72
- * Consumes bytes from the available buffered data.
73
- *
74
- * @param {Number} bytes The number of bytes to consume
75
- * @return {Buffer} Consumed bytes
76
- * @private
77
- */
78
- readBuffer (bytes) {
79
- var offset = 0;
80
- var dst;
81
- var l;
82
-
83
- this._bufferedBytes -= bytes;
84
-
85
- if (bytes === this._buffers[0].length) return this._buffers.shift();
86
-
87
- if (bytes < this._buffers[0].length) {
88
- dst = this._buffers[0].slice(0, bytes);
89
- this._buffers[0] = this._buffers[0].slice(bytes);
90
- return dst;
91
- }
92
-
93
- dst = Buffer.allocUnsafe(bytes);
94
-
95
- while (bytes > 0) {
96
- l = this._buffers[0].length;
97
-
98
- if (bytes >= l) {
99
- this._buffers[0].copy(dst, offset);
100
- offset += l;
101
- this._buffers.shift();
102
- } else {
103
- this._buffers[0].copy(dst, offset, 0, bytes);
104
- this._buffers[0] = this._buffers[0].slice(bytes);
105
- }
106
-
107
- bytes -= l;
108
- }
109
-
110
- return dst;
111
- }
112
-
113
- /**
114
- * Checks if the number of buffered bytes is bigger or equal than `n` and
115
- * calls `cleanup` if necessary.
116
- *
117
- * @param {Number} n The number of bytes to check against
118
- * @return {Boolean} `true` if `bufferedBytes >= n`, else `false`
119
- * @private
120
- */
121
- hasBufferedBytes (n) {
122
- if (this._bufferedBytes >= n) return true;
123
-
124
- this._loop = false;
125
- if (this._dead) this.cleanup(this._cleanupCallback);
126
- return false;
127
- }
128
-
129
- /**
130
- * Adds new data to the parser.
131
- *
132
- * @public
133
- */
134
- add (data) {
135
- if (this._dead) return;
136
-
137
- this._bufferedBytes += data.length;
138
- this._buffers.push(data);
139
- this.startLoop();
140
- }
141
-
142
- /**
143
- * Starts the parsing loop.
144
- *
145
- * @private
146
- */
147
- startLoop () {
148
- this._loop = true;
149
-
150
- while (this._loop) {
151
- switch (this._state) {
152
- case GET_INFO:
153
- this.getInfo();
154
- break;
155
- case GET_PAYLOAD_LENGTH_16:
156
- this.getPayloadLength16();
157
- break;
158
- case GET_PAYLOAD_LENGTH_64:
159
- this.getPayloadLength64();
160
- break;
161
- case GET_MASK:
162
- this.getMask();
163
- break;
164
- case GET_DATA:
165
- this.getData();
166
- break;
167
- default: // `INFLATING`
168
- this._loop = false;
169
- }
170
- }
171
- }
172
-
173
- /**
174
- * Reads the first two bytes of a frame.
175
- *
176
- * @private
177
- */
178
- getInfo () {
179
- if (!this.hasBufferedBytes(2)) return;
180
-
181
- const buf = this.readBuffer(2);
182
-
183
- if ((buf[0] & 0x30) !== 0x00) {
184
- this.error(new Error('RSV2 and RSV3 must be clear'), 1002);
185
- return;
186
- }
187
-
188
- const compressed = (buf[0] & 0x40) === 0x40;
189
-
190
- if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
191
- this.error(new Error('RSV1 must be clear'), 1002);
192
- return;
193
- }
194
-
195
- this._fin = (buf[0] & 0x80) === 0x80;
196
- this._opcode = buf[0] & 0x0f;
197
- this._payloadLength = buf[1] & 0x7f;
198
-
199
- if (this._opcode === 0x00) {
200
- if (compressed) {
201
- this.error(new Error('RSV1 must be clear'), 1002);
202
- return;
203
- }
204
-
205
- if (!this._fragmented) {
206
- this.error(new Error(`invalid opcode: ${this._opcode}`), 1002);
207
- return;
208
- } else {
209
- this._opcode = this._fragmented;
210
- }
211
- } else if (this._opcode === 0x01 || this._opcode === 0x02) {
212
- if (this._fragmented) {
213
- this.error(new Error(`invalid opcode: ${this._opcode}`), 1002);
214
- return;
215
- }
216
-
217
- this._compressed = compressed;
218
- } else if (this._opcode > 0x07 && this._opcode < 0x0b) {
219
- if (!this._fin) {
220
- this.error(new Error('FIN must be set'), 1002);
221
- return;
222
- }
223
-
224
- if (compressed) {
225
- this.error(new Error('RSV1 must be clear'), 1002);
226
- return;
227
- }
228
-
229
- if (this._payloadLength > 0x7d) {
230
- this.error(new Error('invalid payload length'), 1002);
231
- return;
232
- }
233
- } else {
234
- this.error(new Error(`invalid opcode: ${this._opcode}`), 1002);
235
- return;
236
- }
237
-
238
- if (!this._fin && !this._fragmented) this._fragmented = this._opcode;
239
-
240
- this._masked = (buf[1] & 0x80) === 0x80;
241
-
242
- if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;
243
- else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;
244
- else this.haveLength();
245
- }
246
-
247
- /**
248
- * Gets extended payload length (7+16).
249
- *
250
- * @private
251
- */
252
- getPayloadLength16 () {
253
- if (!this.hasBufferedBytes(2)) return;
254
-
255
- this._payloadLength = this.readBuffer(2).readUInt16BE(0, true);
256
- this.haveLength();
257
- }
258
-
259
- /**
260
- * Gets extended payload length (7+64).
261
- *
262
- * @private
263
- */
264
- getPayloadLength64 () {
265
- if (!this.hasBufferedBytes(8)) return;
266
-
267
- const buf = this.readBuffer(8);
268
- const num = buf.readUInt32BE(0, true);
269
-
270
- //
271
- // The maximum safe integer in JavaScript is 2^53 - 1. An error is returned
272
- // if payload length is greater than this number.
273
- //
274
- if (num > Math.pow(2, 53 - 32) - 1) {
275
- this.error(new Error('max payload size exceeded'), 1009);
276
- return;
277
- }
278
-
279
- this._payloadLength = (num * Math.pow(2, 32)) + buf.readUInt32BE(4, true);
280
- this.haveLength();
281
- }
282
-
283
- /**
284
- * Payload length has been read.
285
- *
286
- * @private
287
- */
288
- haveLength () {
289
- if (this._opcode < 0x08 && this.maxPayloadExceeded(this._payloadLength)) {
290
- return;
291
- }
292
-
293
- if (this._masked) this._state = GET_MASK;
294
- else this._state = GET_DATA;
295
- }
296
-
297
- /**
298
- * Reads mask bytes.
299
- *
300
- * @private
301
- */
302
- getMask () {
303
- if (!this.hasBufferedBytes(4)) return;
304
-
305
- this._mask = this.readBuffer(4);
306
- this._state = GET_DATA;
307
- }
308
-
309
- /**
310
- * Reads data bytes.
311
- *
312
- * @private
313
- */
314
- getData () {
315
- var data = constants.EMPTY_BUFFER;
316
-
317
- if (this._payloadLength) {
318
- if (!this.hasBufferedBytes(this._payloadLength)) return;
319
-
320
- data = this.readBuffer(this._payloadLength);
321
- if (this._masked) bufferUtil.unmask(data, this._mask);
322
- }
323
-
324
- if (this._opcode > 0x07) {
325
- this.controlMessage(data);
326
- } else if (this._compressed) {
327
- this._state = INFLATING;
328
- this.decompress(data);
329
- } else if (this.pushFragment(data)) {
330
- this.dataMessage();
331
- }
332
- }
333
-
334
- /**
335
- * Decompresses data.
336
- *
337
- * @param {Buffer} data Compressed data
338
- * @private
339
- */
340
- decompress (data) {
341
- const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
342
-
343
- perMessageDeflate.decompress(data, this._fin, (err, buf) => {
344
- if (err) {
345
- this.error(err, err.closeCode === 1009 ? 1009 : 1007);
346
- return;
347
- }
348
-
349
- if (this.pushFragment(buf)) this.dataMessage();
350
- this.startLoop();
351
- });
352
- }
353
-
354
- /**
355
- * Handles a data message.
356
- *
357
- * @private
358
- */
359
- dataMessage () {
360
- if (this._fin) {
361
- const messageLength = this._messageLength;
362
- const fragments = this._fragments;
363
-
364
- this._totalPayloadLength = 0;
365
- this._messageLength = 0;
366
- this._fragmented = 0;
367
- this._fragments = [];
368
-
369
- if (this._opcode === 2) {
370
- var data;
371
-
372
- if (this._binaryType === 'nodebuffer') {
373
- data = toBuffer(fragments, messageLength);
374
- } else if (this._binaryType === 'arraybuffer') {
375
- data = toArrayBuffer(toBuffer(fragments, messageLength));
376
- } else {
377
- data = fragments;
378
- }
379
-
380
- this.onmessage(data);
381
- } else {
382
- const buf = toBuffer(fragments, messageLength);
383
-
384
- if (!isValidUTF8(buf)) {
385
- this.error(new Error('invalid utf8 sequence'), 1007);
386
- return;
387
- }
388
-
389
- this.onmessage(buf.toString());
390
- }
391
- }
392
-
393
- this._state = GET_INFO;
394
- }
395
-
396
- /**
397
- * Handles a control message.
398
- *
399
- * @param {Buffer} data Data to handle
400
- * @private
401
- */
402
- controlMessage (data) {
403
- if (this._opcode === 0x08) {
404
- if (data.length === 0) {
405
- this.onclose(1000, '');
406
- this._loop = false;
407
- this.cleanup(this._cleanupCallback);
408
- } else if (data.length === 1) {
409
- this.error(new Error('invalid payload length'), 1002);
410
- } else {
411
- const code = data.readUInt16BE(0, true);
412
-
413
- if (!ErrorCodes.isValidErrorCode(code)) {
414
- this.error(new Error(`invalid status code: ${code}`), 1002);
415
- return;
416
- }
417
-
418
- const buf = data.slice(2);
419
-
420
- if (!isValidUTF8(buf)) {
421
- this.error(new Error('invalid utf8 sequence'), 1007);
422
- return;
423
- }
424
-
425
- this.onclose(code, buf.toString());
426
- this._loop = false;
427
- this.cleanup(this._cleanupCallback);
428
- }
429
-
430
- return;
431
- }
432
-
433
- if (this._opcode === 0x09) this.onping(data);
434
- else this.onpong(data);
435
-
436
- this._state = GET_INFO;
437
- }
438
-
439
- /**
440
- * Handles an error.
441
- *
442
- * @param {Error} err The error
443
- * @param {Number} code Close code
444
- * @private
445
- */
446
- error (err, code) {
447
- this.onerror(err, code);
448
- this._hadError = true;
449
- this._loop = false;
450
- this.cleanup(this._cleanupCallback);
451
- }
452
-
453
- /**
454
- * Checks payload size, disconnects socket when it exceeds `maxPayload`.
455
- *
456
- * @param {Number} length Payload length
457
- * @private
458
- */
459
- maxPayloadExceeded (length) {
460
- if (length === 0 || this._maxPayload < 1) return false;
461
-
462
- const fullLength = this._totalPayloadLength + length;
463
-
464
- if (fullLength <= this._maxPayload) {
465
- this._totalPayloadLength = fullLength;
466
- return false;
467
- }
468
-
469
- this.error(new Error('max payload size exceeded'), 1009);
470
- return true;
471
- }
472
-
473
- /**
474
- * Appends a fragment in the fragments array after checking that the sum of
475
- * fragment lengths does not exceed `maxPayload`.
476
- *
477
- * @param {Buffer} fragment The fragment to add
478
- * @return {Boolean} `true` if `maxPayload` is not exceeded, else `false`
479
- * @private
480
- */
481
- pushFragment (fragment) {
482
- if (fragment.length === 0) return true;
483
-
484
- const totalLength = this._messageLength + fragment.length;
485
-
486
- if (this._maxPayload < 1 || totalLength <= this._maxPayload) {
487
- this._messageLength = totalLength;
488
- this._fragments.push(fragment);
489
- return true;
490
- }
491
-
492
- this.error(new Error('max payload size exceeded'), 1009);
493
- return false;
494
- }
495
-
496
- /**
497
- * Releases resources used by the receiver.
498
- *
499
- * @param {Function} cb Callback
500
- * @public
501
- */
502
- cleanup (cb) {
503
- this._dead = true;
504
-
505
- if (!this._hadError && (this._loop || this._state === INFLATING)) {
506
- this._cleanupCallback = cb;
507
- } else {
508
- this._extensions = null;
509
- this._fragments = null;
510
- this._buffers = null;
511
- this._mask = null;
512
-
513
- this._cleanupCallback = null;
514
- this.onmessage = null;
515
- this.onclose = null;
516
- this.onerror = null;
517
- this.onping = null;
518
- this.onpong = null;
519
-
520
- if (cb) cb();
521
- }
522
- }
523
- }
524
-
525
- module.exports = Receiver;
526
-
527
- /**
528
- * Makes a buffer from a list of fragments.
529
- *
530
- * @param {Buffer[]} fragments The list of fragments composing the message
531
- * @param {Number} messageLength The length of the message
532
- * @return {Buffer}
533
- * @private
534
- */
535
- function toBuffer (fragments, messageLength) {
536
- if (fragments.length === 1) return fragments[0];
537
- if (fragments.length > 1) return bufferUtil.concat(fragments, messageLength);
538
- return constants.EMPTY_BUFFER;
539
- }
540
-
541
- /**
542
- * Converts a buffer to an `ArrayBuffer`.
543
- *
544
- * @param {Buffer} The buffer to convert
545
- * @return {ArrayBuffer} Converted buffer
546
- */
547
- function toArrayBuffer (buf) {
548
- if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
549
- return buf.buffer;
550
- }
551
-
552
- return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
553
- }