postdoc 0.2.0.beta4 → 0.2.0
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/postdoc_view_helper.rb +15 -0
- data/lib/postdoc.rb +34 -14
- metadata +20 -373
- 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/-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/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/promise.js +0 -427
- 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/lib/es6-promise.auto.js +0 -3
- data/node_modules/es6-promise/lib/es6-promise.js +0 -7
- 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
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Module dependencies.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
var fs = require('fs');
|
|
7
|
-
var url = require('url');
|
|
8
|
-
var http = require('http');
|
|
9
|
-
var https = require('https');
|
|
10
|
-
var assert = require('assert');
|
|
11
|
-
var Proxy = require('proxy');
|
|
12
|
-
var HttpsProxyAgent = require('../');
|
|
13
|
-
|
|
14
|
-
describe('HttpsProxyAgent', function () {
|
|
15
|
-
|
|
16
|
-
var server;
|
|
17
|
-
var serverPort;
|
|
18
|
-
|
|
19
|
-
var sslServer;
|
|
20
|
-
var sslServerPort;
|
|
21
|
-
|
|
22
|
-
var proxy;
|
|
23
|
-
var proxyPort;
|
|
24
|
-
|
|
25
|
-
var sslProxy;
|
|
26
|
-
var sslProxyPort;
|
|
27
|
-
|
|
28
|
-
before(function (done) {
|
|
29
|
-
// setup target HTTP server
|
|
30
|
-
server = http.createServer();
|
|
31
|
-
server.listen(function () {
|
|
32
|
-
serverPort = server.address().port;
|
|
33
|
-
done();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
before(function (done) {
|
|
38
|
-
// setup HTTP proxy server
|
|
39
|
-
proxy = Proxy();
|
|
40
|
-
proxy.listen(function () {
|
|
41
|
-
proxyPort = proxy.address().port;
|
|
42
|
-
done();
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
before(function (done) {
|
|
47
|
-
// setup target HTTPS server
|
|
48
|
-
var options = {
|
|
49
|
-
key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
|
|
50
|
-
cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
|
|
51
|
-
};
|
|
52
|
-
sslServer = https.createServer(options);
|
|
53
|
-
sslServer.listen(function () {
|
|
54
|
-
sslServerPort = sslServer.address().port;
|
|
55
|
-
done();
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
before(function (done) {
|
|
60
|
-
// setup SSL HTTP proxy server
|
|
61
|
-
var options = {
|
|
62
|
-
key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
|
|
63
|
-
cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
|
|
64
|
-
};
|
|
65
|
-
sslProxy = Proxy(https.createServer(options));
|
|
66
|
-
sslProxy.listen(function () {
|
|
67
|
-
sslProxyPort = sslProxy.address().port;
|
|
68
|
-
done();
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
// shut down test HTTP server
|
|
73
|
-
after(function (done) {
|
|
74
|
-
server.once('close', function () { done(); });
|
|
75
|
-
server.close();
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
after(function (done) {
|
|
79
|
-
proxy.once('close', function () { done(); });
|
|
80
|
-
proxy.close();
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
after(function (done) {
|
|
84
|
-
sslServer.once('close', function () { done(); });
|
|
85
|
-
sslServer.close();
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
after(function (done) {
|
|
89
|
-
sslProxy.once('close', function () { done(); });
|
|
90
|
-
sslProxy.close();
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
describe('constructor', function () {
|
|
94
|
-
it('should throw an Error if no "proxy" argument is given', function () {
|
|
95
|
-
assert.throws(function () {
|
|
96
|
-
new HttpsProxyAgent();
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
it('should accept a "string" proxy argument', function () {
|
|
100
|
-
var agent = new HttpsProxyAgent('http://127.0.0.1:' + proxyPort);
|
|
101
|
-
assert.equal('127.0.0.1', agent.proxy.host);
|
|
102
|
-
assert.equal(proxyPort, agent.proxy.port);
|
|
103
|
-
});
|
|
104
|
-
it('should accept a `url.parse()` result object argument', function () {
|
|
105
|
-
var opts = url.parse('http://127.0.0.1:' + proxyPort);
|
|
106
|
-
var agent = new HttpsProxyAgent(opts);
|
|
107
|
-
assert.equal('127.0.0.1', agent.proxy.host);
|
|
108
|
-
assert.equal(proxyPort, agent.proxy.port);
|
|
109
|
-
});
|
|
110
|
-
it('should set a `defaultPort` property', function () {
|
|
111
|
-
var opts = url.parse("http://127.0.0.1:" + proxyPort);
|
|
112
|
-
var agent = new HttpsProxyAgent(opts);
|
|
113
|
-
assert.equal(443, agent.defaultPort);
|
|
114
|
-
});
|
|
115
|
-
describe('secureProxy', function () {
|
|
116
|
-
it('should default to `false`', function () {
|
|
117
|
-
var agent = new HttpsProxyAgent({ port: proxyPort });
|
|
118
|
-
assert.equal(false, agent.secureProxy);
|
|
119
|
-
});
|
|
120
|
-
it('should be `false` when "http:" protocol is used', function () {
|
|
121
|
-
var agent = new HttpsProxyAgent({ port: proxyPort, protocol: 'http:' });
|
|
122
|
-
assert.equal(false, agent.secureProxy);
|
|
123
|
-
});
|
|
124
|
-
it('should be `true` when "https:" protocol is used', function () {
|
|
125
|
-
var agent = new HttpsProxyAgent({ port: proxyPort, protocol: 'https:' });
|
|
126
|
-
assert.equal(true, agent.secureProxy);
|
|
127
|
-
});
|
|
128
|
-
it('should be `true` when "https" protocol is used', function () {
|
|
129
|
-
var agent = new HttpsProxyAgent({ port: proxyPort, protocol: 'https' });
|
|
130
|
-
assert.equal(true, agent.secureProxy);
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
describe('"http" module', function () {
|
|
136
|
-
|
|
137
|
-
beforeEach(function () {
|
|
138
|
-
delete proxy.authenticate;
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
it('should work over an HTTP proxy', function (done) {
|
|
142
|
-
server.once('request', function (req, res) {
|
|
143
|
-
res.end(JSON.stringify(req.headers));
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
var proxy = process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:' + proxyPort;
|
|
147
|
-
var agent = new HttpsProxyAgent(proxy);
|
|
148
|
-
|
|
149
|
-
var opts = url.parse('http://127.0.0.1:' + serverPort);
|
|
150
|
-
opts.agent = agent;
|
|
151
|
-
|
|
152
|
-
var req = http.get(opts, function (res) {
|
|
153
|
-
var data = '';
|
|
154
|
-
res.setEncoding('utf8');
|
|
155
|
-
res.on('data', function (b) {
|
|
156
|
-
data += b;
|
|
157
|
-
});
|
|
158
|
-
res.on('end', function () {
|
|
159
|
-
data = JSON.parse(data);
|
|
160
|
-
assert.equal('127.0.0.1:' + serverPort, data.host);
|
|
161
|
-
done();
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
req.once('error', done);
|
|
165
|
-
});
|
|
166
|
-
it('should work over an HTTPS proxy', function (done) {
|
|
167
|
-
server.once('request', function (req, res) {
|
|
168
|
-
res.end(JSON.stringify(req.headers));
|
|
169
|
-
});
|
|
170
|
-
|
|
171
|
-
var proxy = process.env.HTTPS_PROXY || process.env.https_proxy || 'https://127.0.0.1:' + sslProxyPort;
|
|
172
|
-
proxy = url.parse(proxy);
|
|
173
|
-
proxy.rejectUnauthorized = false;
|
|
174
|
-
var agent = new HttpsProxyAgent(proxy);
|
|
175
|
-
|
|
176
|
-
var opts = url.parse('http://127.0.0.1:' + serverPort);
|
|
177
|
-
opts.agent = agent;
|
|
178
|
-
|
|
179
|
-
http.get(opts, function (res) {
|
|
180
|
-
var data = '';
|
|
181
|
-
res.setEncoding('utf8');
|
|
182
|
-
res.on('data', function (b) {
|
|
183
|
-
data += b;
|
|
184
|
-
});
|
|
185
|
-
res.on('end', function () {
|
|
186
|
-
data = JSON.parse(data);
|
|
187
|
-
assert.equal('127.0.0.1:' + serverPort, data.host);
|
|
188
|
-
done();
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
});
|
|
192
|
-
it('should receive the 407 authorization code on the `http.ClientResponse`', function (done) {
|
|
193
|
-
// set a proxy authentication function for this test
|
|
194
|
-
proxy.authenticate = function (req, fn) {
|
|
195
|
-
// reject all requests
|
|
196
|
-
fn(null, false);
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
var proxyUri = process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:' + proxyPort;
|
|
200
|
-
var agent = new HttpsProxyAgent(proxyUri);
|
|
201
|
-
|
|
202
|
-
var opts = {};
|
|
203
|
-
// `host` and `port` don't really matter since the proxy will reject anyways
|
|
204
|
-
opts.host = '127.0.0.1';
|
|
205
|
-
opts.port = 80;
|
|
206
|
-
opts.agent = agent;
|
|
207
|
-
|
|
208
|
-
var req = http.get(opts, function (res) {
|
|
209
|
-
assert.equal(407, res.statusCode);
|
|
210
|
-
assert('proxy-authenticate' in res.headers);
|
|
211
|
-
done();
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
it('should emit an "error" event on the `http.ClientRequest` if the proxy does not exist', function (done) {
|
|
215
|
-
// port 4 is a reserved, but "unassigned" port
|
|
216
|
-
var proxyUri = 'http://127.0.0.1:4';
|
|
217
|
-
var agent = new HttpsProxyAgent(proxyUri);
|
|
218
|
-
|
|
219
|
-
var opts = url.parse('http://nodejs.org');
|
|
220
|
-
opts.agent = agent;
|
|
221
|
-
|
|
222
|
-
var req = http.get(opts);
|
|
223
|
-
req.once('error', function (err) {
|
|
224
|
-
assert.equal('ECONNREFUSED', err.code);
|
|
225
|
-
req.abort();
|
|
226
|
-
done();
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
it('should allow custom proxy "headers"', function (done) {
|
|
231
|
-
server.once('connect', function (req, socket, head) {
|
|
232
|
-
assert.equal('CONNECT', req.method);
|
|
233
|
-
assert.equal('bar', req.headers.foo);
|
|
234
|
-
socket.destroy();
|
|
235
|
-
done();
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
var uri = 'http://127.0.0.1:' + serverPort;
|
|
239
|
-
var proxyOpts = url.parse(uri);
|
|
240
|
-
proxyOpts.headers = {
|
|
241
|
-
'Foo': 'bar'
|
|
242
|
-
};
|
|
243
|
-
var agent = new HttpsProxyAgent(proxyOpts);
|
|
244
|
-
|
|
245
|
-
var opts = {};
|
|
246
|
-
// `host` and `port` don't really matter since the proxy will reject anyways
|
|
247
|
-
opts.host = '127.0.0.1';
|
|
248
|
-
opts.port = 80;
|
|
249
|
-
opts.agent = agent;
|
|
250
|
-
|
|
251
|
-
http.get(opts);
|
|
252
|
-
});
|
|
253
|
-
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
describe('"https" module', function () {
|
|
257
|
-
it('should work over an HTTP proxy', function (done) {
|
|
258
|
-
sslServer.once('request', function (req, res) {
|
|
259
|
-
res.end(JSON.stringify(req.headers));
|
|
260
|
-
});
|
|
261
|
-
|
|
262
|
-
var proxy = process.env.HTTP_PROXY || process.env.http_proxy || 'http://127.0.0.1:' + proxyPort;
|
|
263
|
-
var agent = new HttpsProxyAgent(proxy);
|
|
264
|
-
|
|
265
|
-
var opts = url.parse('https://127.0.0.1:' + sslServerPort);
|
|
266
|
-
opts.rejectUnauthorized = false;
|
|
267
|
-
opts.agent = agent;
|
|
268
|
-
|
|
269
|
-
https.get(opts, function (res) {
|
|
270
|
-
var data = '';
|
|
271
|
-
res.setEncoding('utf8');
|
|
272
|
-
res.on('data', function (b) {
|
|
273
|
-
data += b;
|
|
274
|
-
});
|
|
275
|
-
res.on('end', function () {
|
|
276
|
-
data = JSON.parse(data);
|
|
277
|
-
assert.equal('127.0.0.1:' + sslServerPort, data.host);
|
|
278
|
-
done();
|
|
279
|
-
});
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
it('should work over an HTTPS proxy', function (done) {
|
|
284
|
-
sslServer.once('request', function (req, res) {
|
|
285
|
-
res.end(JSON.stringify(req.headers));
|
|
286
|
-
});
|
|
287
|
-
|
|
288
|
-
var proxy = process.env.HTTPS_PROXY || process.env.https_proxy || 'https://127.0.0.1:' + sslProxyPort;
|
|
289
|
-
proxy = url.parse(proxy);
|
|
290
|
-
proxy.rejectUnauthorized = false;
|
|
291
|
-
var agent = new HttpsProxyAgent(proxy);
|
|
292
|
-
|
|
293
|
-
var opts = url.parse('https://127.0.0.1:' + sslServerPort);
|
|
294
|
-
opts.agent = agent;
|
|
295
|
-
opts.rejectUnauthorized = false;
|
|
296
|
-
|
|
297
|
-
https.get(opts, function (res) {
|
|
298
|
-
var data = '';
|
|
299
|
-
res.setEncoding('utf8');
|
|
300
|
-
res.on('data', function (b) {
|
|
301
|
-
data += b;
|
|
302
|
-
});
|
|
303
|
-
res.on('end', function () {
|
|
304
|
-
data = JSON.parse(data);
|
|
305
|
-
assert.equal('127.0.0.1:' + sslServerPort, data.host);
|
|
306
|
-
done();
|
|
307
|
-
});
|
|
308
|
-
});
|
|
309
|
-
});
|
|
310
|
-
|
|
311
|
-
it('should not send a port number for the default port', function (done) {
|
|
312
|
-
sslServer.once('request', function (req, res) {
|
|
313
|
-
res.end(JSON.stringify(req.headers));
|
|
314
|
-
});
|
|
315
|
-
|
|
316
|
-
var proxy = process.env.HTTPS_PROXY || process.env.https_proxy || "https://127.0.0.1:" + sslProxyPort;
|
|
317
|
-
proxy = url.parse(proxy);
|
|
318
|
-
proxy.rejectUnauthorized = false;
|
|
319
|
-
var agent = new HttpsProxyAgent(proxy);
|
|
320
|
-
agent.defaultPort = sslServerPort;
|
|
321
|
-
|
|
322
|
-
var opts = url.parse("https://127.0.0.1:" + sslServerPort);
|
|
323
|
-
opts.agent = agent;
|
|
324
|
-
opts.rejectUnauthorized = false;
|
|
325
|
-
|
|
326
|
-
https.get(opts, function(res) {
|
|
327
|
-
var data = "";
|
|
328
|
-
res.setEncoding("utf8");
|
|
329
|
-
res.on("data", function(b) {
|
|
330
|
-
data += b;
|
|
331
|
-
});
|
|
332
|
-
res.on("end", function() {
|
|
333
|
-
data = JSON.parse(data);
|
|
334
|
-
assert.equal("127.0.0.1", data.host);
|
|
335
|
-
done();
|
|
336
|
-
});
|
|
337
|
-
});
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
});
|
|
341
|
-
|
|
342
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
The ISC License
|
|
2
|
-
|
|
3
|
-
Copyright (c) Isaac Z. Schlueter
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
copyright notice and this permission notice appear in all copies.
|
|
8
|
-
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
10
|
-
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
11
|
-
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
12
|
-
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
13
|
-
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
14
|
-
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
|
|
15
|
-
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# inflight
|
|
2
|
-
|
|
3
|
-
Add callbacks to requests in flight to avoid async duplication
|
|
4
|
-
|
|
5
|
-
## USAGE
|
|
6
|
-
|
|
7
|
-
```javascript
|
|
8
|
-
var inflight = require('inflight')
|
|
9
|
-
|
|
10
|
-
// some request that does some stuff
|
|
11
|
-
function req(key, callback) {
|
|
12
|
-
// key is any random string. like a url or filename or whatever.
|
|
13
|
-
//
|
|
14
|
-
// will return either a falsey value, indicating that the
|
|
15
|
-
// request for this key is already in flight, or a new callback
|
|
16
|
-
// which when called will call all callbacks passed to inflightk
|
|
17
|
-
// with the same key
|
|
18
|
-
callback = inflight(key, callback)
|
|
19
|
-
|
|
20
|
-
// If we got a falsey value back, then there's already a req going
|
|
21
|
-
if (!callback) return
|
|
22
|
-
|
|
23
|
-
// this is where you'd fetch the url or whatever
|
|
24
|
-
// callback is also once()-ified, so it can safely be assigned
|
|
25
|
-
// to multiple events etc. First call wins.
|
|
26
|
-
setTimeout(function() {
|
|
27
|
-
callback(null, key)
|
|
28
|
-
}, 100)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// only assigns a single setTimeout
|
|
32
|
-
// when it dings, all cbs get called
|
|
33
|
-
req('foo', cb1)
|
|
34
|
-
req('foo', cb2)
|
|
35
|
-
req('foo', cb3)
|
|
36
|
-
req('foo', cb4)
|
|
37
|
-
```
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
var wrappy = require('wrappy')
|
|
2
|
-
var reqs = Object.create(null)
|
|
3
|
-
var once = require('once')
|
|
4
|
-
|
|
5
|
-
module.exports = wrappy(inflight)
|
|
6
|
-
|
|
7
|
-
function inflight (key, cb) {
|
|
8
|
-
if (reqs[key]) {
|
|
9
|
-
reqs[key].push(cb)
|
|
10
|
-
return null
|
|
11
|
-
} else {
|
|
12
|
-
reqs[key] = [cb]
|
|
13
|
-
return makeres(key)
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function makeres (key) {
|
|
18
|
-
return once(function RES () {
|
|
19
|
-
var cbs = reqs[key]
|
|
20
|
-
var len = cbs.length
|
|
21
|
-
var args = slice(arguments)
|
|
22
|
-
|
|
23
|
-
// XXX It's somewhat ambiguous whether a new callback added in this
|
|
24
|
-
// pass should be queued for later execution if something in the
|
|
25
|
-
// list of callbacks throws, or if it should just be discarded.
|
|
26
|
-
// However, it's such an edge case that it hardly matters, and either
|
|
27
|
-
// choice is likely as surprising as the other.
|
|
28
|
-
// As it happens, we do go ahead and schedule it for later execution.
|
|
29
|
-
try {
|
|
30
|
-
for (var i = 0; i < len; i++) {
|
|
31
|
-
cbs[i].apply(null, args)
|
|
32
|
-
}
|
|
33
|
-
} finally {
|
|
34
|
-
if (cbs.length > len) {
|
|
35
|
-
// added more in the interim.
|
|
36
|
-
// de-zalgo, just in case, but don't call again.
|
|
37
|
-
cbs.splice(0, len)
|
|
38
|
-
process.nextTick(function () {
|
|
39
|
-
RES.apply(null, args)
|
|
40
|
-
})
|
|
41
|
-
} else {
|
|
42
|
-
delete reqs[key]
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
})
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function slice (args) {
|
|
49
|
-
var length = args.length
|
|
50
|
-
var array = []
|
|
51
|
-
|
|
52
|
-
for (var i = 0; i < length; i++) array[i] = args[i]
|
|
53
|
-
return array
|
|
54
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "inflight",
|
|
3
|
-
"version": "1.0.6",
|
|
4
|
-
"description": "Add callbacks to requests in flight to avoid async duplication",
|
|
5
|
-
"main": "inflight.js",
|
|
6
|
-
"files": [
|
|
7
|
-
"inflight.js"
|
|
8
|
-
],
|
|
9
|
-
"dependencies": {
|
|
10
|
-
"once": "^1.3.0",
|
|
11
|
-
"wrappy": "1"
|
|
12
|
-
},
|
|
13
|
-
"devDependencies": {
|
|
14
|
-
"tap": "^7.1.2"
|
|
15
|
-
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"test": "tap test.js --100"
|
|
18
|
-
},
|
|
19
|
-
"repository": {
|
|
20
|
-
"type": "git",
|
|
21
|
-
"url": "https://github.com/npm/inflight.git"
|
|
22
|
-
},
|
|
23
|
-
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
|
|
24
|
-
"bugs": {
|
|
25
|
-
"url": "https://github.com/isaacs/inflight/issues"
|
|
26
|
-
},
|
|
27
|
-
"homepage": "https://github.com/isaacs/inflight",
|
|
28
|
-
"license": "ISC"
|
|
29
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
The ISC License
|
|
2
|
-
|
|
3
|
-
Copyright (c) Isaac Z. Schlueter
|
|
4
|
-
|
|
5
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
copyright notice and this permission notice appear in all copies.
|
|
8
|
-
|
|
9
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
11
|
-
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
Browser-friendly inheritance fully compatible with standard node.js
|
|
2
|
-
[inherits](http://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor).
|
|
3
|
-
|
|
4
|
-
This package exports standard `inherits` from node.js `util` module in
|
|
5
|
-
node environment, but also provides alternative browser-friendly
|
|
6
|
-
implementation through [browser
|
|
7
|
-
field](https://gist.github.com/shtylman/4339901). Alternative
|
|
8
|
-
implementation is a literal copy of standard one located in standalone
|
|
9
|
-
module to avoid requiring of `util`. It also has a shim for old
|
|
10
|
-
browsers with no `Object.create` support.
|
|
11
|
-
|
|
12
|
-
While keeping you sure you are using standard `inherits`
|
|
13
|
-
implementation in node.js environment, it allows bundlers such as
|
|
14
|
-
[browserify](https://github.com/substack/node-browserify) to not
|
|
15
|
-
include full `util` package to your client code if all you need is
|
|
16
|
-
just `inherits` function. It worth, because browser shim for `util`
|
|
17
|
-
package is large and `inherits` is often the single function you need
|
|
18
|
-
from it.
|
|
19
|
-
|
|
20
|
-
It's recommended to use this package instead of
|
|
21
|
-
`require('util').inherits` for any code that has chances to be used
|
|
22
|
-
not only in node.js but in browser too.
|
|
23
|
-
|
|
24
|
-
## usage
|
|
25
|
-
|
|
26
|
-
```js
|
|
27
|
-
var inherits = require('inherits');
|
|
28
|
-
// then use exactly as the standard one
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## note on version ~1.0
|
|
32
|
-
|
|
33
|
-
Version ~1.0 had completely different motivation and is not compatible
|
|
34
|
-
neither with 2.0 nor with standard node.js `inherits`.
|
|
35
|
-
|
|
36
|
-
If you are using version ~1.0 and planning to switch to ~2.0, be
|
|
37
|
-
careful:
|
|
38
|
-
|
|
39
|
-
* new version uses `super_` instead of `super` for referencing
|
|
40
|
-
superclass
|
|
41
|
-
* new version overwrites current prototype while old one preserves any
|
|
42
|
-
existing fields on it
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
if (typeof Object.create === 'function') {
|
|
2
|
-
// implementation from standard node.js 'util' module
|
|
3
|
-
module.exports = function inherits(ctor, superCtor) {
|
|
4
|
-
ctor.super_ = superCtor
|
|
5
|
-
ctor.prototype = Object.create(superCtor.prototype, {
|
|
6
|
-
constructor: {
|
|
7
|
-
value: ctor,
|
|
8
|
-
enumerable: false,
|
|
9
|
-
writable: true,
|
|
10
|
-
configurable: true
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
} else {
|
|
15
|
-
// old school shim for old browsers
|
|
16
|
-
module.exports = function inherits(ctor, superCtor) {
|
|
17
|
-
ctor.super_ = superCtor
|
|
18
|
-
var TempCtor = function () {}
|
|
19
|
-
TempCtor.prototype = superCtor.prototype
|
|
20
|
-
ctor.prototype = new TempCtor()
|
|
21
|
-
ctor.prototype.constructor = ctor
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "inherits",
|
|
3
|
-
"description": "Browser-friendly inheritance fully compatible with standard node.js inherits()",
|
|
4
|
-
"version": "2.0.3",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"inheritance",
|
|
7
|
-
"class",
|
|
8
|
-
"klass",
|
|
9
|
-
"oop",
|
|
10
|
-
"object-oriented",
|
|
11
|
-
"inherits",
|
|
12
|
-
"browser",
|
|
13
|
-
"browserify"
|
|
14
|
-
],
|
|
15
|
-
"main": "./inherits.js",
|
|
16
|
-
"browser": "./inherits_browser.js",
|
|
17
|
-
"repository": "git://github.com/isaacs/inherits",
|
|
18
|
-
"license": "ISC",
|
|
19
|
-
"scripts": {
|
|
20
|
-
"test": "node test"
|
|
21
|
-
},
|
|
22
|
-
"devDependencies": {
|
|
23
|
-
"tap": "^7.1.0"
|
|
24
|
-
},
|
|
25
|
-
"files": [
|
|
26
|
-
"inherits.js",
|
|
27
|
-
"inherits_browser.js"
|
|
28
|
-
]
|
|
29
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# isarray
|
|
3
|
-
|
|
4
|
-
`Array#isArray` for older browsers.
|
|
5
|
-
|
|
6
|
-
[](http://travis-ci.org/juliangruber/isarray)
|
|
7
|
-
[](https://www.npmjs.org/package/isarray)
|
|
8
|
-
|
|
9
|
-
[
|
|
10
|
-
](https://ci.testling.com/juliangruber/isarray)
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```js
|
|
15
|
-
var isArray = require('isarray');
|
|
16
|
-
|
|
17
|
-
console.log(isArray([])); // => true
|
|
18
|
-
console.log(isArray({})); // => false
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
With [npm](http://npmjs.org) do
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
$ npm install isarray
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Then bundle for the browser with
|
|
30
|
-
[browserify](https://github.com/substack/browserify).
|
|
31
|
-
|
|
32
|
-
With [component](http://component.io) do
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
$ component install juliangruber/isarray
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## License
|
|
39
|
-
|
|
40
|
-
(MIT)
|
|
41
|
-
|
|
42
|
-
Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
|
|
43
|
-
|
|
44
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
45
|
-
this software and associated documentation files (the "Software"), to deal in
|
|
46
|
-
the Software without restriction, including without limitation the rights to
|
|
47
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
48
|
-
of the Software, and to permit persons to whom the Software is furnished to do
|
|
49
|
-
so, subject to the following conditions:
|
|
50
|
-
|
|
51
|
-
The above copyright notice and this permission notice shall be included in all
|
|
52
|
-
copies or substantial portions of the Software.
|
|
53
|
-
|
|
54
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
55
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
56
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
57
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
58
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
59
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
60
|
-
SOFTWARE.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name" : "isarray",
|
|
3
|
-
"description" : "Array#isArray for older browsers",
|
|
4
|
-
"version" : "0.0.1",
|
|
5
|
-
"repository" : "juliangruber/isarray",
|
|
6
|
-
"homepage": "https://github.com/juliangruber/isarray",
|
|
7
|
-
"main" : "index.js",
|
|
8
|
-
"scripts" : [
|
|
9
|
-
"index.js"
|
|
10
|
-
],
|
|
11
|
-
"dependencies" : {},
|
|
12
|
-
"keywords": ["browser","isarray","array"],
|
|
13
|
-
"author": {
|
|
14
|
-
"name": "Julian Gruber",
|
|
15
|
-
"email": "mail@juliangruber.com",
|
|
16
|
-
"url": "http://juliangruber.com"
|
|
17
|
-
},
|
|
18
|
-
"license": "MIT"
|
|
19
|
-
}
|