postdoc 0.2.0.beta4 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/postdoc.rb +50 -18
- metadata +24 -378
- data/lib/pdf.js +0 -27
- data/node_modules/agent-base/History.md +0 -113
- data/node_modules/agent-base/README.md +0 -145
- data/node_modules/agent-base/index.js +0 -160
- data/node_modules/agent-base/package.json +0 -35
- data/node_modules/agent-base/patch-core.js +0 -37
- data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
- data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
- data/node_modules/agent-base/test/test.js +0 -673
- data/node_modules/async-limiter/LICENSE +0 -8
- data/node_modules/async-limiter/coverage/coverage.json +0 -1
- data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
- data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
- data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
- data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
- data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
- data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
- data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
- data/node_modules/async-limiter/coverage/lcov.info +0 -74
- data/node_modules/async-limiter/index.js +0 -67
- data/node_modules/async-limiter/package.json +0 -35
- data/node_modules/async-limiter/readme.md +0 -132
- data/node_modules/balanced-match/LICENSE.md +0 -21
- data/node_modules/balanced-match/README.md +0 -91
- data/node_modules/balanced-match/index.js +0 -59
- data/node_modules/balanced-match/package.json +0 -49
- data/node_modules/brace-expansion/LICENSE +0 -21
- data/node_modules/brace-expansion/README.md +0 -129
- data/node_modules/brace-expansion/index.js +0 -201
- data/node_modules/brace-expansion/package.json +0 -47
- data/node_modules/buffer-from/index.js +0 -69
- data/node_modules/buffer-from/package.json +0 -16
- data/node_modules/buffer-from/readme.md +0 -69
- data/node_modules/buffer-from/test.js +0 -12
- data/node_modules/concat-map/LICENSE +0 -18
- data/node_modules/concat-map/README.markdown +0 -62
- data/node_modules/concat-map/example/map.js +0 -6
- data/node_modules/concat-map/index.js +0 -13
- data/node_modules/concat-map/package.json +0 -43
- data/node_modules/concat-map/test/map.js +0 -39
- data/node_modules/concat-stream/LICENSE +0 -24
- data/node_modules/concat-stream/index.js +0 -144
- data/node_modules/concat-stream/package.json +0 -55
- data/node_modules/concat-stream/readme.md +0 -102
- data/node_modules/core-util-is/LICENSE +0 -19
- data/node_modules/core-util-is/README.md +0 -3
- data/node_modules/core-util-is/float.patch +0 -604
- data/node_modules/core-util-is/lib/util.js +0 -107
- data/node_modules/core-util-is/package.json +0 -32
- data/node_modules/core-util-is/test.js +0 -68
- data/node_modules/debug/CHANGELOG.md +0 -395
- data/node_modules/debug/LICENSE +0 -19
- data/node_modules/debug/Makefile +0 -58
- data/node_modules/debug/README.md +0 -368
- data/node_modules/debug/karma.conf.js +0 -70
- data/node_modules/debug/node.js +0 -1
- data/node_modules/debug/package.json +0 -43
- data/node_modules/debug/src/browser.js +0 -195
- data/node_modules/debug/src/debug.js +0 -225
- data/node_modules/debug/src/index.js +0 -10
- data/node_modules/debug/src/node.js +0 -186
- data/node_modules/es6-promise/CHANGELOG.md +0 -151
- data/node_modules/es6-promise/LICENSE +0 -19
- data/node_modules/es6-promise/README.md +0 -97
- data/node_modules/es6-promise/auto.js +0 -4
- data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
- data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
- data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
- data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
- data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
- data/node_modules/es6-promise/dist/es6-promise.map +0 -1
- data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
- data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
- data/node_modules/es6-promise/es6-promise.d.ts +0 -81
- data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
- data/node_modules/es6-promise/lib/es6-promise.js +0 -7
- data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
- data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
- data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
- data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
- data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
- data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
- data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
- data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
- data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
- data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
- data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
- data/node_modules/es6-promise/package.json +0 -75
- data/node_modules/es6-promisify/README.md +0 -89
- data/node_modules/es6-promisify/dist/promise.js +0 -73
- data/node_modules/es6-promisify/dist/promisify.js +0 -85
- data/node_modules/es6-promisify/package.json +0 -41
- data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
- data/node_modules/extract-zip/LICENSE +0 -23
- data/node_modules/extract-zip/cli.js +0 -20
- data/node_modules/extract-zip/index.js +0 -205
- data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
- data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
- data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
- data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
- data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
- data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
- data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
- data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
- data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
- data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
- data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
- data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
- data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
- data/node_modules/extract-zip/package.json +0 -35
- data/node_modules/extract-zip/readme.md +0 -49
- data/node_modules/fd-slicer/CHANGELOG.md +0 -49
- data/node_modules/fd-slicer/LICENSE +0 -21
- data/node_modules/fd-slicer/README.md +0 -189
- data/node_modules/fd-slicer/index.js +0 -277
- data/node_modules/fd-slicer/package.json +0 -36
- data/node_modules/fd-slicer/test/test.js +0 -350
- data/node_modules/fs.realpath/LICENSE +0 -43
- data/node_modules/fs.realpath/README.md +0 -33
- data/node_modules/fs.realpath/index.js +0 -66
- data/node_modules/fs.realpath/old.js +0 -303
- data/node_modules/fs.realpath/package.json +0 -26
- data/node_modules/glob/LICENSE +0 -15
- data/node_modules/glob/README.md +0 -368
- data/node_modules/glob/changelog.md +0 -67
- data/node_modules/glob/common.js +0 -240
- data/node_modules/glob/glob.js +0 -790
- data/node_modules/glob/package.json +0 -43
- data/node_modules/glob/sync.js +0 -486
- data/node_modules/https-proxy-agent/History.md +0 -124
- data/node_modules/https-proxy-agent/README.md +0 -137
- data/node_modules/https-proxy-agent/index.js +0 -229
- data/node_modules/https-proxy-agent/package.json +0 -35
- data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
- data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
- data/node_modules/https-proxy-agent/test/test.js +0 -342
- data/node_modules/inflight/LICENSE +0 -15
- data/node_modules/inflight/README.md +0 -37
- data/node_modules/inflight/inflight.js +0 -54
- data/node_modules/inflight/package.json +0 -29
- data/node_modules/inherits/LICENSE +0 -16
- data/node_modules/inherits/README.md +0 -42
- data/node_modules/inherits/inherits.js +0 -7
- data/node_modules/inherits/inherits_browser.js +0 -23
- data/node_modules/inherits/package.json +0 -29
- data/node_modules/isarray/Makefile +0 -6
- data/node_modules/isarray/README.md +0 -60
- data/node_modules/isarray/component.json +0 -19
- data/node_modules/isarray/index.js +0 -5
- data/node_modules/isarray/package.json +0 -45
- data/node_modules/isarray/test.js +0 -20
- data/node_modules/mime/CHANGELOG.md +0 -225
- data/node_modules/mime/CONTRIBUTING.md +0 -5
- data/node_modules/mime/LICENSE +0 -21
- data/node_modules/mime/Mime.js +0 -89
- data/node_modules/mime/README.md +0 -188
- data/node_modules/mime/cli.js +0 -10
- data/node_modules/mime/index.js +0 -4
- data/node_modules/mime/lite.js +0 -4
- data/node_modules/mime/package.json +0 -43
- data/node_modules/mime/src/README_js.md +0 -179
- data/node_modules/mime/src/build.js +0 -71
- data/node_modules/mime/src/test.js +0 -257
- data/node_modules/mime/types/other.json +0 -1
- data/node_modules/mime/types/standard.json +0 -1
- data/node_modules/minimatch/LICENSE +0 -15
- data/node_modules/minimatch/README.md +0 -209
- data/node_modules/minimatch/minimatch.js +0 -923
- data/node_modules/minimatch/package.json +0 -30
- data/node_modules/minimist/LICENSE +0 -18
- data/node_modules/minimist/example/parse.js +0 -2
- data/node_modules/minimist/index.js +0 -187
- data/node_modules/minimist/package.json +0 -40
- data/node_modules/minimist/readme.markdown +0 -73
- data/node_modules/minimist/test/dash.js +0 -24
- data/node_modules/minimist/test/default_bool.js +0 -20
- data/node_modules/minimist/test/dotted.js +0 -16
- data/node_modules/minimist/test/long.js +0 -31
- data/node_modules/minimist/test/parse.js +0 -318
- data/node_modules/minimist/test/parse_modified.js +0 -9
- data/node_modules/minimist/test/short.js +0 -67
- data/node_modules/minimist/test/whitespace.js +0 -8
- data/node_modules/mkdirp/LICENSE +0 -21
- data/node_modules/mkdirp/bin/cmd.js +0 -33
- data/node_modules/mkdirp/bin/usage.txt +0 -12
- data/node_modules/mkdirp/examples/pow.js +0 -6
- data/node_modules/mkdirp/index.js +0 -98
- data/node_modules/mkdirp/package.json +0 -27
- data/node_modules/mkdirp/readme.markdown +0 -100
- data/node_modules/mkdirp/test/chmod.js +0 -41
- data/node_modules/mkdirp/test/clobber.js +0 -38
- data/node_modules/mkdirp/test/mkdirp.js +0 -28
- data/node_modules/mkdirp/test/opts_fs.js +0 -29
- data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
- data/node_modules/mkdirp/test/perm.js +0 -32
- data/node_modules/mkdirp/test/perm_sync.js +0 -36
- data/node_modules/mkdirp/test/race.js +0 -37
- data/node_modules/mkdirp/test/rel.js +0 -32
- data/node_modules/mkdirp/test/return.js +0 -25
- data/node_modules/mkdirp/test/return_sync.js +0 -24
- data/node_modules/mkdirp/test/root.js +0 -19
- data/node_modules/mkdirp/test/sync.js +0 -32
- data/node_modules/mkdirp/test/umask.js +0 -28
- data/node_modules/mkdirp/test/umask_sync.js +0 -32
- data/node_modules/ms/index.js +0 -152
- data/node_modules/ms/license.md +0 -21
- data/node_modules/ms/package.json +0 -37
- data/node_modules/ms/readme.md +0 -51
- data/node_modules/once/LICENSE +0 -15
- data/node_modules/once/README.md +0 -79
- data/node_modules/once/once.js +0 -42
- data/node_modules/once/package.json +0 -33
- data/node_modules/path-is-absolute/index.js +0 -20
- data/node_modules/path-is-absolute/license +0 -21
- data/node_modules/path-is-absolute/package.json +0 -43
- data/node_modules/path-is-absolute/readme.md +0 -59
- data/node_modules/pend/LICENSE +0 -23
- data/node_modules/pend/README.md +0 -41
- data/node_modules/pend/index.js +0 -55
- data/node_modules/pend/package.json +0 -18
- data/node_modules/pend/test.js +0 -137
- data/node_modules/process-nextick-args/index.js +0 -44
- data/node_modules/process-nextick-args/license.md +0 -19
- data/node_modules/process-nextick-args/package.json +0 -25
- data/node_modules/process-nextick-args/readme.md +0 -18
- data/node_modules/progress/CHANGELOG.md +0 -115
- data/node_modules/progress/LICENSE +0 -22
- data/node_modules/progress/Makefile +0 -8
- data/node_modules/progress/README.md +0 -146
- data/node_modules/progress/index.js +0 -1
- data/node_modules/progress/lib/node-progress.js +0 -231
- data/node_modules/progress/package.json +0 -25
- data/node_modules/proxy-from-env/README.md +0 -131
- data/node_modules/proxy-from-env/index.js +0 -103
- data/node_modules/proxy-from-env/package.json +0 -35
- data/node_modules/proxy-from-env/test.js +0 -393
- data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
- data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
- data/node_modules/puppeteer/LICENSE +0 -202
- data/node_modules/puppeteer/README.md +0 -306
- data/node_modules/puppeteer/index.js +0 -28
- data/node_modules/puppeteer/install.js +0 -122
- data/node_modules/puppeteer/lib/Browser.js +0 -186
- data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
- data/node_modules/puppeteer/lib/Connection.js +0 -246
- data/node_modules/puppeteer/lib/Coverage.js +0 -301
- data/node_modules/puppeteer/lib/Dialog.js +0 -84
- data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
- data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
- data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
- data/node_modules/puppeteer/lib/FrameManager.js +0 -997
- data/node_modules/puppeteer/lib/Input.js +0 -309
- data/node_modules/puppeteer/lib/Launcher.js +0 -310
- data/node_modules/puppeteer/lib/Multimap.js +0 -95
- data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
- data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
- data/node_modules/puppeteer/lib/Page.js +0 -1098
- data/node_modules/puppeteer/lib/Pipe.js +0 -69
- data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
- data/node_modules/puppeteer/lib/Target.js +0 -88
- data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
- data/node_modules/puppeteer/lib/Tracing.js +0 -99
- data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
- data/node_modules/puppeteer/lib/helper.js +0 -248
- data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
- data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
- data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
- data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
- data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
- data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
- data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
- data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
- data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
- data/node_modules/puppeteer/node6/lib/Input.js +0 -569
- data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
- data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
- data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
- data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
- data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
- data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
- data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
- data/node_modules/puppeteer/node6/lib/Target.js +0 -114
- data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
- data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
- data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
- data/node_modules/puppeteer/node6/lib/helper.js +0 -274
- data/node_modules/puppeteer/package.json +0 -61
- data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- data/node_modules/readable-stream/GOVERNANCE.md +0 -136
- data/node_modules/readable-stream/LICENSE +0 -47
- data/node_modules/readable-stream/README.md +0 -58
- data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- data/node_modules/readable-stream/duplex-browser.js +0 -1
- data/node_modules/readable-stream/duplex.js +0 -1
- data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
- data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
- data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
- data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- data/node_modules/readable-stream/package.json +0 -52
- data/node_modules/readable-stream/passthrough.js +0 -1
- data/node_modules/readable-stream/readable-browser.js +0 -7
- data/node_modules/readable-stream/readable.js +0 -19
- data/node_modules/readable-stream/transform.js +0 -1
- data/node_modules/readable-stream/writable-browser.js +0 -1
- data/node_modules/readable-stream/writable.js +0 -8
- data/node_modules/rimraf/LICENSE +0 -15
- data/node_modules/rimraf/README.md +0 -101
- data/node_modules/rimraf/bin.js +0 -50
- data/node_modules/rimraf/package.json +0 -26
- data/node_modules/rimraf/rimraf.js +0 -364
- data/node_modules/safe-buffer/LICENSE +0 -21
- data/node_modules/safe-buffer/README.md +0 -584
- data/node_modules/safe-buffer/index.d.ts +0 -187
- data/node_modules/safe-buffer/index.js +0 -62
- data/node_modules/safe-buffer/package.json +0 -37
- data/node_modules/string_decoder/LICENSE +0 -48
- data/node_modules/string_decoder/README.md +0 -47
- data/node_modules/string_decoder/lib/string_decoder.js +0 -296
- data/node_modules/string_decoder/package.json +0 -31
- data/node_modules/typedarray/LICENSE +0 -35
- data/node_modules/typedarray/example/tarray.js +0 -4
- data/node_modules/typedarray/index.js +0 -630
- data/node_modules/typedarray/package.json +0 -55
- data/node_modules/typedarray/readme.markdown +0 -61
- data/node_modules/typedarray/test/server/undef_globals.js +0 -19
- data/node_modules/typedarray/test/tarray.js +0 -10
- data/node_modules/ultron/LICENSE +0 -22
- data/node_modules/ultron/README.md +0 -113
- data/node_modules/ultron/index.js +0 -136
- data/node_modules/ultron/package.json +0 -41
- data/node_modules/util-deprecate/History.md +0 -16
- data/node_modules/util-deprecate/LICENSE +0 -24
- data/node_modules/util-deprecate/README.md +0 -53
- data/node_modules/util-deprecate/browser.js +0 -67
- data/node_modules/util-deprecate/node.js +0 -6
- data/node_modules/util-deprecate/package.json +0 -27
- data/node_modules/wrappy/LICENSE +0 -15
- data/node_modules/wrappy/README.md +0 -36
- data/node_modules/wrappy/package.json +0 -29
- data/node_modules/wrappy/wrappy.js +0 -33
- data/node_modules/ws/LICENSE +0 -21
- data/node_modules/ws/README.md +0 -341
- data/node_modules/ws/index.js +0 -15
- data/node_modules/ws/lib/BufferUtil.js +0 -71
- data/node_modules/ws/lib/Constants.js +0 -10
- data/node_modules/ws/lib/ErrorCodes.js +0 -28
- data/node_modules/ws/lib/EventTarget.js +0 -151
- data/node_modules/ws/lib/Extensions.js +0 -203
- data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
- data/node_modules/ws/lib/Receiver.js +0 -553
- data/node_modules/ws/lib/Sender.js +0 -412
- data/node_modules/ws/lib/Validation.js +0 -17
- data/node_modules/ws/lib/WebSocket.js +0 -717
- data/node_modules/ws/lib/WebSocketServer.js +0 -326
- data/node_modules/ws/package.json +0 -46
- data/node_modules/yauzl/LICENSE +0 -21
- data/node_modules/yauzl/README.md +0 -467
- data/node_modules/yauzl/index.js +0 -626
- data/node_modules/yauzl/package.json +0 -36
- data/package.json +0 -5
- data/yarn.lock +0 -240
data/node_modules/ws/index.js
DELETED
|
@@ -1,15 +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 WebSocket = require('./lib/WebSocket');
|
|
10
|
-
|
|
11
|
-
WebSocket.Server = require('./lib/WebSocketServer');
|
|
12
|
-
WebSocket.Receiver = require('./lib/Receiver');
|
|
13
|
-
WebSocket.Sender = require('./lib/Sender');
|
|
14
|
-
|
|
15
|
-
module.exports = WebSocket;
|
|
@@ -1,71 +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 Buffer = safeBuffer.Buffer;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Merges an array of buffers into a new buffer.
|
|
15
|
-
*
|
|
16
|
-
* @param {Buffer[]} list The array of buffers to concat
|
|
17
|
-
* @param {Number} totalLength The total length of buffers in the list
|
|
18
|
-
* @return {Buffer} The resulting buffer
|
|
19
|
-
* @public
|
|
20
|
-
*/
|
|
21
|
-
const concat = (list, totalLength) => {
|
|
22
|
-
const target = Buffer.allocUnsafe(totalLength);
|
|
23
|
-
var offset = 0;
|
|
24
|
-
|
|
25
|
-
for (var i = 0; i < list.length; i++) {
|
|
26
|
-
const buf = list[i];
|
|
27
|
-
buf.copy(target, offset);
|
|
28
|
-
offset += buf.length;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return target;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
try {
|
|
35
|
-
const bufferUtil = require('bufferutil');
|
|
36
|
-
|
|
37
|
-
module.exports = Object.assign({ concat }, bufferUtil.BufferUtil || bufferUtil);
|
|
38
|
-
} catch (e) /* istanbul ignore next */ {
|
|
39
|
-
/**
|
|
40
|
-
* Masks a buffer using the given mask.
|
|
41
|
-
*
|
|
42
|
-
* @param {Buffer} source The buffer to mask
|
|
43
|
-
* @param {Buffer} mask The mask to use
|
|
44
|
-
* @param {Buffer} output The buffer where to store the result
|
|
45
|
-
* @param {Number} offset The offset at which to start writing
|
|
46
|
-
* @param {Number} length The number of bytes to mask.
|
|
47
|
-
* @public
|
|
48
|
-
*/
|
|
49
|
-
const mask = (source, mask, output, offset, length) => {
|
|
50
|
-
for (var i = 0; i < length; i++) {
|
|
51
|
-
output[offset + i] = source[i] ^ mask[i & 3];
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Unmasks a buffer using the given mask.
|
|
57
|
-
*
|
|
58
|
-
* @param {Buffer} buffer The buffer to unmask
|
|
59
|
-
* @param {Buffer} mask The mask to use
|
|
60
|
-
* @public
|
|
61
|
-
*/
|
|
62
|
-
const unmask = (buffer, mask) => {
|
|
63
|
-
// Required until https://github.com/nodejs/node/issues/9006 is resolved.
|
|
64
|
-
const length = buffer.length;
|
|
65
|
-
for (var i = 0; i < length; i++) {
|
|
66
|
-
buffer[i] ^= mask[i & 3];
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
module.exports = { concat, mask, unmask };
|
|
71
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const safeBuffer = require('safe-buffer');
|
|
4
|
-
|
|
5
|
-
const Buffer = safeBuffer.Buffer;
|
|
6
|
-
|
|
7
|
-
exports.BINARY_TYPES = ['nodebuffer', 'arraybuffer', 'fragments'];
|
|
8
|
-
exports.GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11';
|
|
9
|
-
exports.EMPTY_BUFFER = Buffer.alloc(0);
|
|
10
|
-
exports.NOOP = () => {};
|
|
@@ -1,28 +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
|
-
module.exports = {
|
|
10
|
-
isValidErrorCode: function (code) {
|
|
11
|
-
return (code >= 1000 && code <= 1013 && code !== 1004 && code !== 1005 && code !== 1006) ||
|
|
12
|
-
(code >= 3000 && code <= 4999);
|
|
13
|
-
},
|
|
14
|
-
1000: 'normal',
|
|
15
|
-
1001: 'going away',
|
|
16
|
-
1002: 'protocol error',
|
|
17
|
-
1003: 'unsupported data',
|
|
18
|
-
1004: 'reserved',
|
|
19
|
-
1005: 'reserved for extensions',
|
|
20
|
-
1006: 'reserved for extensions',
|
|
21
|
-
1007: 'inconsistent or invalid data',
|
|
22
|
-
1008: 'policy violation',
|
|
23
|
-
1009: 'message too big',
|
|
24
|
-
1010: 'extension handshake missing',
|
|
25
|
-
1011: 'an unexpected condition prevented the request from being fulfilled',
|
|
26
|
-
1012: 'service restart',
|
|
27
|
-
1013: 'try again later'
|
|
28
|
-
};
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Class representing an event.
|
|
5
|
-
*
|
|
6
|
-
* @private
|
|
7
|
-
*/
|
|
8
|
-
class Event {
|
|
9
|
-
/**
|
|
10
|
-
* Create a new `Event`.
|
|
11
|
-
*
|
|
12
|
-
* @param {String} type The name of the event
|
|
13
|
-
* @param {Object} target A reference to the target to which the event was dispatched
|
|
14
|
-
*/
|
|
15
|
-
constructor (type, target) {
|
|
16
|
-
this.target = target;
|
|
17
|
-
this.type = type;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Class representing a message event.
|
|
23
|
-
*
|
|
24
|
-
* @extends Event
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
class MessageEvent extends Event {
|
|
28
|
-
/**
|
|
29
|
-
* Create a new `MessageEvent`.
|
|
30
|
-
*
|
|
31
|
-
* @param {(String|Buffer|ArrayBuffer|Buffer[])} data The received data
|
|
32
|
-
* @param {WebSocket} target A reference to the target to which the event was dispatched
|
|
33
|
-
*/
|
|
34
|
-
constructor (data, target) {
|
|
35
|
-
super('message', target);
|
|
36
|
-
|
|
37
|
-
this.data = data;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Class representing a close event.
|
|
43
|
-
*
|
|
44
|
-
* @extends Event
|
|
45
|
-
* @private
|
|
46
|
-
*/
|
|
47
|
-
class CloseEvent extends Event {
|
|
48
|
-
/**
|
|
49
|
-
* Create a new `CloseEvent`.
|
|
50
|
-
*
|
|
51
|
-
* @param {Number} code The status code explaining why the connection is being closed
|
|
52
|
-
* @param {String} reason A human-readable string explaining why the connection is closing
|
|
53
|
-
* @param {WebSocket} target A reference to the target to which the event was dispatched
|
|
54
|
-
*/
|
|
55
|
-
constructor (code, reason, target) {
|
|
56
|
-
super('close', target);
|
|
57
|
-
|
|
58
|
-
this.wasClean = target._closeFrameReceived && target._closeFrameSent;
|
|
59
|
-
this.reason = reason;
|
|
60
|
-
this.code = code;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Class representing an open event.
|
|
66
|
-
*
|
|
67
|
-
* @extends Event
|
|
68
|
-
* @private
|
|
69
|
-
*/
|
|
70
|
-
class OpenEvent extends Event {
|
|
71
|
-
/**
|
|
72
|
-
* Create a new `OpenEvent`.
|
|
73
|
-
*
|
|
74
|
-
* @param {WebSocket} target A reference to the target to which the event was dispatched
|
|
75
|
-
*/
|
|
76
|
-
constructor (target) {
|
|
77
|
-
super('open', target);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* This provides methods for emulating the `EventTarget` interface. It's not
|
|
83
|
-
* meant to be used directly.
|
|
84
|
-
*
|
|
85
|
-
* @mixin
|
|
86
|
-
*/
|
|
87
|
-
const EventTarget = {
|
|
88
|
-
/**
|
|
89
|
-
* Register an event listener.
|
|
90
|
-
*
|
|
91
|
-
* @param {String} method A string representing the event type to listen for
|
|
92
|
-
* @param {Function} listener The listener to add
|
|
93
|
-
* @public
|
|
94
|
-
*/
|
|
95
|
-
addEventListener (method, listener) {
|
|
96
|
-
if (typeof listener !== 'function') return;
|
|
97
|
-
|
|
98
|
-
function onMessage (data) {
|
|
99
|
-
listener.call(this, new MessageEvent(data, this));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function onClose (code, message) {
|
|
103
|
-
listener.call(this, new CloseEvent(code, message, this));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function onError (event) {
|
|
107
|
-
event.type = 'error';
|
|
108
|
-
event.target = this;
|
|
109
|
-
listener.call(this, event);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
function onOpen () {
|
|
113
|
-
listener.call(this, new OpenEvent(this));
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (method === 'message') {
|
|
117
|
-
onMessage._listener = listener;
|
|
118
|
-
this.on(method, onMessage);
|
|
119
|
-
} else if (method === 'close') {
|
|
120
|
-
onClose._listener = listener;
|
|
121
|
-
this.on(method, onClose);
|
|
122
|
-
} else if (method === 'error') {
|
|
123
|
-
onError._listener = listener;
|
|
124
|
-
this.on(method, onError);
|
|
125
|
-
} else if (method === 'open') {
|
|
126
|
-
onOpen._listener = listener;
|
|
127
|
-
this.on(method, onOpen);
|
|
128
|
-
} else {
|
|
129
|
-
this.on(method, listener);
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Remove an event listener.
|
|
135
|
-
*
|
|
136
|
-
* @param {String} method A string representing the event type to remove
|
|
137
|
-
* @param {Function} listener The listener to remove
|
|
138
|
-
* @public
|
|
139
|
-
*/
|
|
140
|
-
removeEventListener (method, listener) {
|
|
141
|
-
const listeners = this.listeners(method);
|
|
142
|
-
|
|
143
|
-
for (var i = 0; i < listeners.length; i++) {
|
|
144
|
-
if (listeners[i] === listener || listeners[i]._listener === listener) {
|
|
145
|
-
this.removeListener(method, listeners[i]);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
|
|
151
|
-
module.exports = EventTarget;
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
// Allowed token characters:
|
|
5
|
-
//
|
|
6
|
-
// '!', '#', '$', '%', '&', ''', '*', '+', '-',
|
|
7
|
-
// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'
|
|
8
|
-
//
|
|
9
|
-
// tokenChars[32] === 0 // ' '
|
|
10
|
-
// tokenChars[33] === 1 // '!'
|
|
11
|
-
// tokenChars[34] === 0 // '"'
|
|
12
|
-
// ...
|
|
13
|
-
//
|
|
14
|
-
const tokenChars = [
|
|
15
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15
|
|
16
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31
|
|
17
|
-
0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47
|
|
18
|
-
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63
|
|
19
|
-
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79
|
|
20
|
-
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95
|
|
21
|
-
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111
|
|
22
|
-
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Adds an offer to the map of extension offers or a parameter to the map of
|
|
27
|
-
* parameters.
|
|
28
|
-
*
|
|
29
|
-
* @param {Object} dest The map of extension offers or parameters
|
|
30
|
-
* @param {String} name The extension or parameter name
|
|
31
|
-
* @param {(Object|Boolean|String)} elem The extension parameters or the
|
|
32
|
-
* parameter value
|
|
33
|
-
* @private
|
|
34
|
-
*/
|
|
35
|
-
function push (dest, name, elem) {
|
|
36
|
-
if (Object.prototype.hasOwnProperty.call(dest, name)) dest[name].push(elem);
|
|
37
|
-
else dest[name] = [elem];
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Parses the `Sec-WebSocket-Extensions` header into an object.
|
|
42
|
-
*
|
|
43
|
-
* @param {String} header The field value of the header
|
|
44
|
-
* @return {Object} The parsed object
|
|
45
|
-
* @public
|
|
46
|
-
*/
|
|
47
|
-
function parse (header) {
|
|
48
|
-
const offers = {};
|
|
49
|
-
|
|
50
|
-
if (header === undefined || header === '') return offers;
|
|
51
|
-
|
|
52
|
-
var params = {};
|
|
53
|
-
var mustUnescape = false;
|
|
54
|
-
var isEscaping = false;
|
|
55
|
-
var inQuotes = false;
|
|
56
|
-
var extensionName;
|
|
57
|
-
var paramName;
|
|
58
|
-
var start = -1;
|
|
59
|
-
var end = -1;
|
|
60
|
-
|
|
61
|
-
for (var i = 0; i < header.length; i++) {
|
|
62
|
-
const code = header.charCodeAt(i);
|
|
63
|
-
|
|
64
|
-
if (extensionName === undefined) {
|
|
65
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
66
|
-
if (start === -1) start = i;
|
|
67
|
-
} else if (code === 0x20/* ' ' */|| code === 0x09/* '\t' */) {
|
|
68
|
-
if (end === -1 && start !== -1) end = i;
|
|
69
|
-
} else if (code === 0x3b/* ';' */ || code === 0x2c/* ',' */) {
|
|
70
|
-
if (start === -1) throw new Error(`unexpected character at index ${i}`);
|
|
71
|
-
|
|
72
|
-
if (end === -1) end = i;
|
|
73
|
-
const name = header.slice(start, end);
|
|
74
|
-
if (code === 0x2c) {
|
|
75
|
-
push(offers, name, params);
|
|
76
|
-
params = {};
|
|
77
|
-
} else {
|
|
78
|
-
extensionName = name;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
start = end = -1;
|
|
82
|
-
} else {
|
|
83
|
-
throw new Error(`unexpected character at index ${i}`);
|
|
84
|
-
}
|
|
85
|
-
} else if (paramName === undefined) {
|
|
86
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
87
|
-
if (start === -1) start = i;
|
|
88
|
-
} else if (code === 0x20 || code === 0x09) {
|
|
89
|
-
if (end === -1 && start !== -1) end = i;
|
|
90
|
-
} else if (code === 0x3b || code === 0x2c) {
|
|
91
|
-
if (start === -1) throw new Error(`unexpected character at index ${i}`);
|
|
92
|
-
|
|
93
|
-
if (end === -1) end = i;
|
|
94
|
-
push(params, header.slice(start, end), true);
|
|
95
|
-
if (code === 0x2c) {
|
|
96
|
-
push(offers, extensionName, params);
|
|
97
|
-
params = {};
|
|
98
|
-
extensionName = undefined;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
start = end = -1;
|
|
102
|
-
} else if (code === 0x3d/* '=' */&& start !== -1 && end === -1) {
|
|
103
|
-
paramName = header.slice(start, i);
|
|
104
|
-
start = end = -1;
|
|
105
|
-
} else {
|
|
106
|
-
throw new Error(`unexpected character at index ${i}`);
|
|
107
|
-
}
|
|
108
|
-
} else {
|
|
109
|
-
//
|
|
110
|
-
// The value of a quoted-string after unescaping must conform to the
|
|
111
|
-
// token ABNF, so only token characters are valid.
|
|
112
|
-
// Ref: https://tools.ietf.org/html/rfc6455#section-9.1
|
|
113
|
-
//
|
|
114
|
-
if (isEscaping) {
|
|
115
|
-
if (tokenChars[code] !== 1) {
|
|
116
|
-
throw new Error(`unexpected character at index ${i}`);
|
|
117
|
-
}
|
|
118
|
-
if (start === -1) start = i;
|
|
119
|
-
else if (!mustUnescape) mustUnescape = true;
|
|
120
|
-
isEscaping = false;
|
|
121
|
-
} else if (inQuotes) {
|
|
122
|
-
if (tokenChars[code] === 1) {
|
|
123
|
-
if (start === -1) start = i;
|
|
124
|
-
} else if (code === 0x22/* '"' */ && start !== -1) {
|
|
125
|
-
inQuotes = false;
|
|
126
|
-
end = i;
|
|
127
|
-
} else if (code === 0x5c/* '\' */) {
|
|
128
|
-
isEscaping = true;
|
|
129
|
-
} else {
|
|
130
|
-
throw new Error(`unexpected character at index ${i}`);
|
|
131
|
-
}
|
|
132
|
-
} else if (code === 0x22 && header.charCodeAt(i - 1) === 0x3d) {
|
|
133
|
-
inQuotes = true;
|
|
134
|
-
} else if (end === -1 && tokenChars[code] === 1) {
|
|
135
|
-
if (start === -1) start = i;
|
|
136
|
-
} else if (start !== -1 && (code === 0x20 || code === 0x09)) {
|
|
137
|
-
if (end === -1) end = i;
|
|
138
|
-
} else if (code === 0x3b || code === 0x2c) {
|
|
139
|
-
if (start === -1) throw new Error(`unexpected character at index ${i}`);
|
|
140
|
-
|
|
141
|
-
if (end === -1) end = i;
|
|
142
|
-
var value = header.slice(start, end);
|
|
143
|
-
if (mustUnescape) {
|
|
144
|
-
value = value.replace(/\\/g, '');
|
|
145
|
-
mustUnescape = false;
|
|
146
|
-
}
|
|
147
|
-
push(params, paramName, value);
|
|
148
|
-
if (code === 0x2c) {
|
|
149
|
-
push(offers, extensionName, params);
|
|
150
|
-
params = {};
|
|
151
|
-
extensionName = undefined;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
paramName = undefined;
|
|
155
|
-
start = end = -1;
|
|
156
|
-
} else {
|
|
157
|
-
throw new Error(`unexpected character at index ${i}`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
if (start === -1 || inQuotes) throw new Error('unexpected end of input');
|
|
163
|
-
|
|
164
|
-
if (end === -1) end = i;
|
|
165
|
-
const token = header.slice(start, end);
|
|
166
|
-
if (extensionName === undefined) {
|
|
167
|
-
push(offers, token, {});
|
|
168
|
-
} else {
|
|
169
|
-
if (paramName === undefined) {
|
|
170
|
-
push(params, token, true);
|
|
171
|
-
} else if (mustUnescape) {
|
|
172
|
-
push(params, paramName, token.replace(/\\/g, ''));
|
|
173
|
-
} else {
|
|
174
|
-
push(params, paramName, token);
|
|
175
|
-
}
|
|
176
|
-
push(offers, extensionName, params);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
return offers;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Serializes a parsed `Sec-WebSocket-Extensions` header to a string.
|
|
184
|
-
*
|
|
185
|
-
* @param {Object} value The object to format
|
|
186
|
-
* @return {String} A string representing the given value
|
|
187
|
-
* @public
|
|
188
|
-
*/
|
|
189
|
-
function format (value) {
|
|
190
|
-
return Object.keys(value).map((token) => {
|
|
191
|
-
var paramsList = value[token];
|
|
192
|
-
if (!Array.isArray(paramsList)) paramsList = [paramsList];
|
|
193
|
-
return paramsList.map((params) => {
|
|
194
|
-
return [token].concat(Object.keys(params).map((k) => {
|
|
195
|
-
var p = params[k];
|
|
196
|
-
if (!Array.isArray(p)) p = [p];
|
|
197
|
-
return p.map((v) => v === true ? k : `${k}=${v}`).join('; ');
|
|
198
|
-
})).join('; ');
|
|
199
|
-
}).join(', ');
|
|
200
|
-
}).join(', ');
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
module.exports = { format, parse };
|