summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent')
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/.travis.yml27
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/History.md18
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/agent.js11
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/package.json18
-rw-r--r--deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/test/test.js155
5 files changed, 211 insertions, 18 deletions
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/.travis.yml b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/.travis.yml
index 85a50123c6..20b794051c 100644
--- a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/.travis.yml
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/.travis.yml
@@ -1,8 +1,29 @@
+sudo: false
+
language: node_js
+
node_js:
- "0.8"
- "0.10"
- "0.12"
-before_install:
- - '[ "${TRAVIS_NODE_VERSION}" != "0.8" ] || npm install -g npm@1.4.28'
- - npm install -g npm@latest
+ - "1"
+ - "2"
+ - "3"
+ - "4"
+ - "5"
+ - "6"
+ - "7"
+
+install:
+ - PATH="`npm bin`:`npm bin -g`:$PATH"
+ # Node 0.8 comes with a too obsolete npm
+ - if [[ "`node --version`" =~ ^v0\.8\. ]]; then npm install -g npm@1.4.28 ; fi
+ # Install dependencies and build
+ - npm install
+
+script:
+ # Output useful info for debugging
+ - node --version
+ - npm --version
+ # Run tests
+ - npm test
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/History.md b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/History.md
index 0ceef6c13f..2191a9e801 100644
--- a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/History.md
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/History.md
@@ -1,4 +1,22 @@
+2.1.1 / 2017-05-30
+==================
+
+ * Revert [fe2162e0ba18123f5b301cba4de1e9dd74e437cd](https://github.com/TooTallNate/node-agent-base/commit/fe2162e0ba18123f5b301cba4de1e9dd74e437cd) and [270bdc92eb8e3bd0444d1e5266e8e9390aeb3095](https://github.com/TooTallNate/node-agent-base/commit/270bdc92eb8e3bd0444d1e5266e8e9390aeb3095) (fixes #7)
+
+2.1.0 / 2017-05-26
+==================
+
+ * unref is not supported for node < 0.9.1 (@pi0)
+ * add tests to dangling socket (@pi0)
+ * check unref() is supported (@pi0)
+ * fix dangling sockets problem (@pi0)
+ * add basic "ws" module tests
+ * make `Agent` be subclassable
+ * turn `addRequest()` into a named function
+ * test: Node.js v4 likes to call `cork` on the stream (#3, @tomhughes)
+ * travis: test node v4, v5, v6 and v7
+
2.0.1 / 2015-09-10
==================
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/agent.js b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/agent.js
index 4005ebc0ef..7ea91f886c 100644
--- a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/agent.js
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/agent.js
@@ -24,12 +24,17 @@ module.exports = Agent;
function Agent (callback) {
if (!(this instanceof Agent)) return new Agent(callback);
- if ('function' != typeof callback) throw new Error('Must pass a "callback function"');
EventEmitter.call(this);
- this.callback = callback;
+ if ('function' === typeof callback) {
+ this.callback = callback;
+ }
}
inherits(Agent, EventEmitter);
+Agent.prototype.callback = function callback (req, opts, fn) {
+ fn(new Error('"agent-base" has no default implementation, you must subclass and override `callback()`'));
+};
+
/**
* Called by node-core's "_http_client.js" module when creating
* a new HTTP request with this Agent instance.
@@ -37,7 +42,7 @@ inherits(Agent, EventEmitter);
* @api public
*/
-Agent.prototype.addRequest = function (req, host, port, localAddress) {
+Agent.prototype.addRequest = function addRequest (req, host, port, localAddress) {
var opts;
if ('object' == typeof host) {
// >= v0.11.x API
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/package.json b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/package.json
index 81950940bb..e204131537 100644
--- a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/package.json
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/package.json
@@ -1,7 +1,8 @@
{
"_from": "agent-base@2",
- "_id": "agent-base@2.0.1",
- "_integrity": "sha1-vY+ehqjrIh//oHvRS+/VXfFCgV4=",
+ "_id": "agent-base@2.1.1",
+ "_inBundle": false,
+ "_integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"_location": "/pacote/make-fetch-happen/socks-proxy-agent/agent-base",
"_phantomChildren": {},
"_requested": {
@@ -17,9 +18,8 @@
"_requiredBy": [
"/pacote/make-fetch-happen/socks-proxy-agent"
],
- "_resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz",
- "_shasum": "bd8f9e86a8eb221fffa07bd14befd55df142815e",
- "_shrinkwrap": null,
+ "_resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "_shasum": "d6de10d5af6132d5bd692427d46fc538539094c7",
"_spec": "agent-base@2",
"_where": "/Users/zkat/Documents/code/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent",
"author": {
@@ -27,7 +27,6 @@
"email": "nathan@tootallnate.net",
"url": "http://n8.io/"
},
- "bin": null,
"bugs": {
"url": "https://github.com/TooTallNate/node-agent-base/issues"
},
@@ -39,7 +38,8 @@
"deprecated": false,
"description": "Turn a function into an `http.Agent` instance",
"devDependencies": {
- "mocha": "2"
+ "mocha": "2",
+ "ws": "0.8.0"
},
"homepage": "https://github.com/TooTallNate/node-agent-base#readme",
"keywords": [
@@ -52,8 +52,6 @@
"license": "MIT",
"main": "agent.js",
"name": "agent-base",
- "optionalDependencies": {},
- "peerDependencies": {},
"repository": {
"type": "git",
"url": "git://github.com/TooTallNate/node-agent-base.git"
@@ -61,5 +59,5 @@
"scripts": {
"test": "mocha --reporter spec"
},
- "version": "2.0.1"
+ "version": "2.1.1"
}
diff --git a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/test/test.js b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/test/test.js
index f87d308f8e..7d8dee66ce 100644
--- a/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/test/test.js
+++ b/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/socks-proxy-agent/node_modules/agent-base/test/test.js
@@ -9,13 +9,45 @@ var net = require('net');
var tls = require('tls');
var http = require('http');
var https = require('https');
+var WebSocket = require('ws');
var assert = require('assert');
var events = require('events');
+var inherits = require('util').inherits;
+var semver = require('semver');
var Agent = require('../');
describe('Agent', function () {
+ describe('subclass', function () {
+ it('should be subclassable', function (done) {
+ function MyAgent () {
+ Agent.call(this);
+ }
+ inherits(MyAgent, Agent);
+
+ MyAgent.prototype.callback = function (req, opts, fn) {
+ assert.equal(req.path, '/foo');
+ assert.equal(req.getHeader('host'), '127.0.0.1:1234');
+ assert.equal(opts.secureEndpoint, true);
+ done();
+ };
+
+ var info = url.parse('https://127.0.0.1:1234/foo');
+ info.agent = new MyAgent;
+ https.get(info);
+ });
+ });
describe('"error" event', function () {
- it('should be invoked on `http.ClientRequest` instance if passed to callback function on the first tick', function (done) {
+ it('should be invoked on `http.ClientRequest` instance if `callback()` has not been defined', function (done) {
+ var agent = new Agent();
+ var info = url.parse('http://127.0.0.1/foo');
+ info.agent = agent;
+ var req = http.get(info);
+ req.on('error', function (err) {
+ assert.equal('"agent-base" has no default implementation, you must subclass and override `callback()`', err.message);
+ done();
+ });
+ });
+ it('should be invoked on `http.ClientRequest` instance if Error passed to callback function on the first tick', function (done) {
var agent = new Agent(function (req, opts, fn) {
fn(new Error('is this caught?'));
});
@@ -27,7 +59,7 @@ describe('Agent', function () {
done();
});
});
- it('should be invoked on `http.ClientRequest` instance if passed to callback function after the first tick', function (done) {
+ it('should be invoked on `http.ClientRequest` instance if Error passed to callback function after the first tick', function (done) {
var agent = new Agent(function (req, opts, fn) {
setTimeout(function () {
fn(new Error('is this caught?'));
@@ -54,6 +86,10 @@ describe('Agent', function () {
done();
};
+ // needed for `http` module in Node.js 4
+ stream.cork = function () {
+ };
+
var opts = {
method: 'GET',
host: '127.0.0.1',
@@ -298,3 +334,118 @@ describe('"https" module', function () {
});
});
});
+
+describe('"ws" server', function () {
+ var wss;
+ var server;
+ var port;
+
+ // setup test HTTP server
+ before(function (done) {
+ server = http.createServer()
+ wss = new WebSocket.Server({ server: server });
+ server.listen(0, function () {
+ port = server.address().port;
+ done();
+ });
+ });
+
+ // shut down test HTTP server
+ after(function (done) {
+ server.once('close', function () {
+ done();
+ });
+ server.close();
+ });
+
+ it('should work for basic WebSocket connections', function (done) {
+ function onconnection(ws) {
+ ws.on('message', function (data) {
+ assert.equal('ping', data);
+ ws.send('pong');
+ });
+ }
+ wss.on('connection', onconnection);
+
+ var agent = new Agent(function (req, opts, fn) {
+ var socket = net.connect(opts);
+ fn(null, socket);
+ });
+
+ var client = new WebSocket('ws://127.0.0.1:' + port + '/', {
+ agent: agent
+ });
+
+ client.on('open', function () {
+ client.send('ping');
+ });
+
+ client.on('message', function (data) {
+ assert.equal('pong', data);
+ client.close();
+ wss.removeListener('connection', onconnection);
+ done();
+ });
+ });
+
+});
+
+describe('"wss" server', function () {
+ var wss;
+ var server;
+ var port;
+
+ // setup test HTTP server
+ before(function (done) {
+ var options = {
+ key: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.key'),
+ cert: fs.readFileSync(__dirname + '/ssl-cert-snakeoil.pem')
+ };
+ server = https.createServer(options);
+ wss = new WebSocket.Server({ server: server });
+ server.listen(0, function () {
+ port = server.address().port;
+ done();
+ });
+ });
+
+ // shut down test HTTP server
+ after(function (done) {
+ server.once('close', function () {
+ done();
+ });
+ server.close();
+ });
+
+ it('should work for secure WebSocket connections', function (done) {
+ function onconnection(ws) {
+ ws.on('message', function (data) {
+ assert.equal('ping', data);
+ ws.send('pong');
+ });
+ }
+ wss.on('connection', onconnection);
+
+ var agent = new Agent(function (req, opts, fn) {
+ var socket = tls.connect(opts);
+ fn(null, socket);
+ });
+
+ var client = new WebSocket('wss://127.0.0.1:' + port + '/', {
+ agent: agent,
+ rejectUnauthorized: false
+ });
+
+ client.on('open', function () {
+ client.send('ping');
+ });
+
+ client.on('message', function (data) {
+ assert.equal('pong', data);
+ client.close();
+ wss.removeListener('connection', onconnection);
+ done();
+ });
+ });
+
+});