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,507 +0,0 @@
1
- 'use strict';
2
-
3
- const safeBuffer = require('safe-buffer');
4
- const Limiter = require('async-limiter');
5
- const zlib = require('zlib');
6
-
7
- const bufferUtil = require('./BufferUtil');
8
-
9
- const Buffer = safeBuffer.Buffer;
10
-
11
- const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]);
12
- const EMPTY_BLOCK = Buffer.from([0x00]);
13
-
14
- const kWriteInProgress = Symbol('write-in-progress');
15
- const kPendingClose = Symbol('pending-close');
16
- const kTotalLength = Symbol('total-length');
17
- const kCallback = Symbol('callback');
18
- const kBuffers = Symbol('buffers');
19
- const kError = Symbol('error');
20
- const kOwner = Symbol('owner');
21
-
22
- //
23
- // We limit zlib concurrency, which prevents severe memory fragmentation
24
- // as documented in https://github.com/nodejs/node/issues/8871#issuecomment-250915913
25
- // and https://github.com/websockets/ws/issues/1202
26
- //
27
- // Intentionally global; it's the global thread pool that's an issue.
28
- //
29
- let zlibLimiter;
30
-
31
- /**
32
- * permessage-deflate implementation.
33
- */
34
- class PerMessageDeflate {
35
- /**
36
- * Creates a PerMessageDeflate instance.
37
- *
38
- * @param {Object} options Configuration options
39
- * @param {Boolean} options.serverNoContextTakeover Request/accept disabling
40
- * of server context takeover
41
- * @param {Boolean} options.clientNoContextTakeover Advertise/acknowledge
42
- * disabling of client context takeover
43
- * @param {(Boolean|Number)} options.serverMaxWindowBits Request/confirm the
44
- * use of a custom server window size
45
- * @param {(Boolean|Number)} options.clientMaxWindowBits Advertise support
46
- * for, or request, a custom client window size
47
- * @param {Number} options.level The value of zlib's `level` param
48
- * @param {Number} options.memLevel The value of zlib's `memLevel` param
49
- * @param {Number} options.threshold Size (in bytes) below which messages
50
- * should not be compressed
51
- * @param {Number} options.concurrencyLimit The number of concurrent calls to
52
- * zlib
53
- * @param {Boolean} isServer Create the instance in either server or client
54
- * mode
55
- * @param {Number} maxPayload The maximum allowed message length
56
- */
57
- constructor (options, isServer, maxPayload) {
58
- this._maxPayload = maxPayload | 0;
59
- this._options = options || {};
60
- this._threshold = this._options.threshold !== undefined
61
- ? this._options.threshold
62
- : 1024;
63
- this._isServer = !!isServer;
64
- this._deflate = null;
65
- this._inflate = null;
66
-
67
- this.params = null;
68
-
69
- if (!zlibLimiter) {
70
- const concurrency = this._options.concurrencyLimit !== undefined
71
- ? this._options.concurrencyLimit
72
- : 10;
73
- zlibLimiter = new Limiter({ concurrency });
74
- }
75
- }
76
-
77
- /**
78
- * @type {String}
79
- */
80
- static get extensionName () {
81
- return 'permessage-deflate';
82
- }
83
-
84
- /**
85
- * Create extension parameters offer.
86
- *
87
- * @return {Object} Extension parameters
88
- * @public
89
- */
90
- offer () {
91
- const params = {};
92
-
93
- if (this._options.serverNoContextTakeover) {
94
- params.server_no_context_takeover = true;
95
- }
96
- if (this._options.clientNoContextTakeover) {
97
- params.client_no_context_takeover = true;
98
- }
99
- if (this._options.serverMaxWindowBits) {
100
- params.server_max_window_bits = this._options.serverMaxWindowBits;
101
- }
102
- if (this._options.clientMaxWindowBits) {
103
- params.client_max_window_bits = this._options.clientMaxWindowBits;
104
- } else if (this._options.clientMaxWindowBits == null) {
105
- params.client_max_window_bits = true;
106
- }
107
-
108
- return params;
109
- }
110
-
111
- /**
112
- * Accept extension offer.
113
- *
114
- * @param {Array} paramsList Extension parameters
115
- * @return {Object} Accepted configuration
116
- * @public
117
- */
118
- accept (paramsList) {
119
- paramsList = this.normalizeParams(paramsList);
120
-
121
- var params;
122
- if (this._isServer) {
123
- params = this.acceptAsServer(paramsList);
124
- } else {
125
- params = this.acceptAsClient(paramsList);
126
- }
127
-
128
- this.params = params;
129
- return params;
130
- }
131
-
132
- /**
133
- * Releases all resources used by the extension.
134
- *
135
- * @public
136
- */
137
- cleanup () {
138
- if (this._inflate) {
139
- if (this._inflate[kWriteInProgress]) {
140
- this._inflate[kPendingClose] = true;
141
- } else {
142
- this._inflate.close();
143
- this._inflate = null;
144
- }
145
- }
146
- if (this._deflate) {
147
- if (this._deflate[kWriteInProgress]) {
148
- this._deflate[kPendingClose] = true;
149
- } else {
150
- this._deflate.close();
151
- this._deflate = null;
152
- }
153
- }
154
- }
155
-
156
- /**
157
- * Accept extension offer from client.
158
- *
159
- * @param {Array} paramsList Extension parameters
160
- * @return {Object} Accepted configuration
161
- * @private
162
- */
163
- acceptAsServer (paramsList) {
164
- const accepted = {};
165
- const result = paramsList.some((params) => {
166
- if (
167
- (this._options.serverNoContextTakeover === false &&
168
- params.server_no_context_takeover) ||
169
- (this._options.serverMaxWindowBits === false &&
170
- params.server_max_window_bits) ||
171
- (typeof this._options.serverMaxWindowBits === 'number' &&
172
- typeof params.server_max_window_bits === 'number' &&
173
- this._options.serverMaxWindowBits > params.server_max_window_bits) ||
174
- (typeof this._options.clientMaxWindowBits === 'number' &&
175
- !params.client_max_window_bits)
176
- ) {
177
- return;
178
- }
179
-
180
- if (
181
- this._options.serverNoContextTakeover ||
182
- params.server_no_context_takeover
183
- ) {
184
- accepted.server_no_context_takeover = true;
185
- }
186
- if (
187
- this._options.clientNoContextTakeover ||
188
- (this._options.clientNoContextTakeover !== false &&
189
- params.client_no_context_takeover)
190
- ) {
191
- accepted.client_no_context_takeover = true;
192
- }
193
- if (typeof this._options.serverMaxWindowBits === 'number') {
194
- accepted.server_max_window_bits = this._options.serverMaxWindowBits;
195
- } else if (typeof params.server_max_window_bits === 'number') {
196
- accepted.server_max_window_bits = params.server_max_window_bits;
197
- }
198
- if (typeof this._options.clientMaxWindowBits === 'number') {
199
- accepted.client_max_window_bits = this._options.clientMaxWindowBits;
200
- } else if (
201
- this._options.clientMaxWindowBits !== false &&
202
- typeof params.client_max_window_bits === 'number'
203
- ) {
204
- accepted.client_max_window_bits = params.client_max_window_bits;
205
- }
206
- return true;
207
- });
208
-
209
- if (!result) throw new Error("Doesn't support the offered configuration");
210
-
211
- return accepted;
212
- }
213
-
214
- /**
215
- * Accept extension response from server.
216
- *
217
- * @param {Array} paramsList Extension parameters
218
- * @return {Object} Accepted configuration
219
- * @private
220
- */
221
- acceptAsClient (paramsList) {
222
- const params = paramsList[0];
223
-
224
- if (
225
- this._options.clientNoContextTakeover === false &&
226
- params.client_no_context_takeover
227
- ) {
228
- throw new Error('Invalid value for "client_no_context_takeover"');
229
- }
230
-
231
- if (
232
- (typeof this._options.clientMaxWindowBits === 'number' &&
233
- (!params.client_max_window_bits ||
234
- params.client_max_window_bits > this._options.clientMaxWindowBits)) ||
235
- (this._options.clientMaxWindowBits === false &&
236
- params.client_max_window_bits)
237
- ) {
238
- throw new Error('Invalid value for "client_max_window_bits"');
239
- }
240
-
241
- return params;
242
- }
243
-
244
- /**
245
- * Normalize extensions parameters.
246
- *
247
- * @param {Array} paramsList Extension parameters
248
- * @return {Array} Normalized extensions parameters
249
- * @private
250
- */
251
- normalizeParams (paramsList) {
252
- return paramsList.map((params) => {
253
- Object.keys(params).forEach((key) => {
254
- var value = params[key];
255
- if (value.length > 1) {
256
- throw new Error(`Multiple extension parameters for ${key}`);
257
- }
258
-
259
- value = value[0];
260
-
261
- switch (key) {
262
- case 'server_no_context_takeover':
263
- case 'client_no_context_takeover':
264
- if (value !== true) {
265
- throw new Error(`invalid extension parameter value for ${key} (${value})`);
266
- }
267
- params[key] = true;
268
- break;
269
- case 'server_max_window_bits':
270
- case 'client_max_window_bits':
271
- if (typeof value === 'string') {
272
- value = parseInt(value, 10);
273
- if (
274
- Number.isNaN(value) ||
275
- value < zlib.Z_MIN_WINDOWBITS ||
276
- value > zlib.Z_MAX_WINDOWBITS
277
- ) {
278
- throw new Error(`invalid extension parameter value for ${key} (${value})`);
279
- }
280
- }
281
- if (!this._isServer && value === true) {
282
- throw new Error(`Missing extension parameter value for ${key}`);
283
- }
284
- params[key] = value;
285
- break;
286
- default:
287
- throw new Error(`Not defined extension parameter (${key})`);
288
- }
289
- });
290
- return params;
291
- });
292
- }
293
-
294
- /**
295
- * Decompress data. Concurrency limited by async-limiter.
296
- *
297
- * @param {Buffer} data Compressed data
298
- * @param {Boolean} fin Specifies whether or not this is the last fragment
299
- * @param {Function} callback Callback
300
- * @public
301
- */
302
- decompress (data, fin, callback) {
303
- zlibLimiter.push((done) => {
304
- this._decompress(data, fin, (err, result) => {
305
- done();
306
- callback(err, result);
307
- });
308
- });
309
- }
310
-
311
- /**
312
- * Compress data. Concurrency limited by async-limiter.
313
- *
314
- * @param {Buffer} data Data to compress
315
- * @param {Boolean} fin Specifies whether or not this is the last fragment
316
- * @param {Function} callback Callback
317
- * @public
318
- */
319
- compress (data, fin, callback) {
320
- zlibLimiter.push((done) => {
321
- this._compress(data, fin, (err, result) => {
322
- done();
323
- callback(err, result);
324
- });
325
- });
326
- }
327
-
328
- /**
329
- * Decompress data.
330
- *
331
- * @param {Buffer} data Compressed data
332
- * @param {Boolean} fin Specifies whether or not this is the last fragment
333
- * @param {Function} callback Callback
334
- * @private
335
- */
336
- _decompress (data, fin, callback) {
337
- const endpoint = this._isServer ? 'client' : 'server';
338
-
339
- if (!this._inflate) {
340
- const key = `${endpoint}_max_window_bits`;
341
- const windowBits = typeof this.params[key] !== 'number'
342
- ? zlib.Z_DEFAULT_WINDOWBITS
343
- : this.params[key];
344
-
345
- this._inflate = zlib.createInflateRaw({ windowBits });
346
- this._inflate[kTotalLength] = 0;
347
- this._inflate[kBuffers] = [];
348
- this._inflate[kOwner] = this;
349
- this._inflate.on('error', inflateOnError);
350
- this._inflate.on('data', inflateOnData);
351
- }
352
-
353
- this._inflate[kCallback] = callback;
354
- this._inflate[kWriteInProgress] = true;
355
-
356
- this._inflate.write(data);
357
- if (fin) this._inflate.write(TRAILER);
358
-
359
- this._inflate.flush(() => {
360
- const err = this._inflate[kError];
361
-
362
- if (err) {
363
- this._inflate.close();
364
- this._inflate = null;
365
- callback(err);
366
- return;
367
- }
368
-
369
- const data = bufferUtil.concat(
370
- this._inflate[kBuffers],
371
- this._inflate[kTotalLength]
372
- );
373
-
374
- if (
375
- (fin && this.params[`${endpoint}_no_context_takeover`]) ||
376
- this._inflate[kPendingClose]
377
- ) {
378
- this._inflate.close();
379
- this._inflate = null;
380
- } else {
381
- this._inflate[kWriteInProgress] = false;
382
- this._inflate[kTotalLength] = 0;
383
- this._inflate[kBuffers] = [];
384
- }
385
-
386
- callback(null, data);
387
- });
388
- }
389
-
390
- /**
391
- * Compress data.
392
- *
393
- * @param {Buffer} data Data to compress
394
- * @param {Boolean} fin Specifies whether or not this is the last fragment
395
- * @param {Function} callback Callback
396
- * @private
397
- */
398
- _compress (data, fin, callback) {
399
- if (!data || data.length === 0) {
400
- process.nextTick(callback, null, EMPTY_BLOCK);
401
- return;
402
- }
403
-
404
- const endpoint = this._isServer ? 'server' : 'client';
405
-
406
- if (!this._deflate) {
407
- const key = `${endpoint}_max_window_bits`;
408
- const windowBits = typeof this.params[key] !== 'number'
409
- ? zlib.Z_DEFAULT_WINDOWBITS
410
- : this.params[key];
411
-
412
- this._deflate = zlib.createDeflateRaw({
413
- memLevel: this._options.memLevel,
414
- level: this._options.level,
415
- flush: zlib.Z_SYNC_FLUSH,
416
- windowBits
417
- });
418
-
419
- this._deflate[kTotalLength] = 0;
420
- this._deflate[kBuffers] = [];
421
-
422
- //
423
- // `zlib.DeflateRaw` emits an `'error'` event only when an attempt to use
424
- // it is made after it has already been closed. This cannot happen here,
425
- // so we only add a listener for the `'data'` event.
426
- //
427
- this._deflate.on('data', deflateOnData);
428
- }
429
-
430
- this._deflate[kWriteInProgress] = true;
431
-
432
- this._deflate.write(data);
433
- this._deflate.flush(zlib.Z_SYNC_FLUSH, () => {
434
- var data = bufferUtil.concat(
435
- this._deflate[kBuffers],
436
- this._deflate[kTotalLength]
437
- );
438
-
439
- if (fin) data = data.slice(0, data.length - 4);
440
-
441
- if (
442
- (fin && this.params[`${endpoint}_no_context_takeover`]) ||
443
- this._deflate[kPendingClose]
444
- ) {
445
- this._deflate.close();
446
- this._deflate = null;
447
- } else {
448
- this._deflate[kWriteInProgress] = false;
449
- this._deflate[kTotalLength] = 0;
450
- this._deflate[kBuffers] = [];
451
- }
452
-
453
- callback(null, data);
454
- });
455
- }
456
- }
457
-
458
- module.exports = PerMessageDeflate;
459
-
460
- /**
461
- * The listener of the `zlib.DeflateRaw` stream `'data'` event.
462
- *
463
- * @param {Buffer} chunk A chunk of data
464
- * @private
465
- */
466
- function deflateOnData (chunk) {
467
- this[kBuffers].push(chunk);
468
- this[kTotalLength] += chunk.length;
469
- }
470
-
471
- /**
472
- * The listener of the `zlib.InflateRaw` stream `'data'` event.
473
- *
474
- * @param {Buffer} chunk A chunk of data
475
- * @private
476
- */
477
- function inflateOnData (chunk) {
478
- this[kTotalLength] += chunk.length;
479
-
480
- if (
481
- this[kOwner]._maxPayload < 1 ||
482
- this[kTotalLength] <= this[kOwner]._maxPayload
483
- ) {
484
- this[kBuffers].push(chunk);
485
- return;
486
- }
487
-
488
- this[kError] = new Error('max payload size exceeded');
489
- this[kError].closeCode = 1009;
490
- this.removeListener('data', inflateOnData);
491
- this.reset();
492
- }
493
-
494
- /**
495
- * The listener of the `zlib.InflateRaw` stream `'error'` event.
496
- *
497
- * @param {Error} err The emitted error
498
- * @private
499
- */
500
- function inflateOnError (err) {
501
- //
502
- // There is no need to call `Zlib#close()` as the handle is automatically
503
- // closed when an error is emitted.
504
- //
505
- this[kOwner]._inflate = null;
506
- this[kCallback](err);
507
- }