engine.io-client
Advanced tools
Comparing version 0.6.3 to 0.7.0
{ | ||
"name": "engine.io", | ||
"version": "0.6.3", | ||
"version": "0.7.0", | ||
"dependencies": { | ||
"component/emitter": "1.0.0", | ||
"component/emitter": "1.0.1", | ||
"component/indexof": "*", | ||
"component/global": "*", | ||
"component/has-cors": "*", | ||
"LearnBoost/engine.io-protocol": "0.3.0", | ||
@@ -8,0 +10,0 @@ "visionmedia/debug": "*" |
0.7.0 / 2013-08-23 | ||
================== | ||
* socket: add `agent` option | ||
* package: point "xmlhttprequest" to our LearnBoost fork for agent support | ||
* package: specify a newer version of "ws" that includes `agent` support | ||
* util: use "component/has-cors" | ||
* transport: fix whitespace | ||
* util: use "component/global" | ||
* package: Add repository field to readme | ||
* socket: Don't lose packets writen during upgrade after a re-open | ||
* socket: use a consistent "debug" name for socket.js | ||
* package: Update emitter dep to 1.0.1 for old IE support | ||
0.6.3 / 2013-06-21 | ||
@@ -3,0 +17,0 @@ ================== |
@@ -8,3 +8,3 @@ /** | ||
, Emitter = require('./emitter') | ||
, debug = require('debug')('engine-client:socket') | ||
, debug = require('debug')('engine.io-client:socket') | ||
, index = require('indexof') | ||
@@ -23,3 +23,3 @@ , parser = require('engine.io-parser'); | ||
var global = util.global(); | ||
var global = require('global'); | ||
@@ -69,2 +69,3 @@ /** | ||
this.agent = opts.agent || false; | ||
this.hostname = opts.hostname || | ||
@@ -149,2 +150,3 @@ (global.location ? location.hostname : 'localhost'); | ||
var transport = new transports[name]({ | ||
agent: this.agent, | ||
hostname: this.hostname, | ||
@@ -567,2 +569,3 @@ port: this.port, | ||
self.callbackBuffer = []; | ||
self.prevBufferLen = 0; | ||
}, 0); | ||
@@ -569,0 +572,0 @@ |
@@ -32,6 +32,7 @@ | ||
this.readyState = ''; | ||
this.agent = opts.agent || false; | ||
}; | ||
/** | ||
* Mix in `Emitter`. | ||
* Mix in `Emitter`. | ||
*/ | ||
@@ -38,0 +39,0 @@ |
@@ -19,3 +19,3 @@ /** | ||
var global = util.global() | ||
var global = require('global'); | ||
@@ -22,0 +22,0 @@ /** |
@@ -24,3 +24,3 @@ | ||
var global = util.global() | ||
var global = require('global'); | ||
@@ -52,3 +52,3 @@ /** | ||
xhr = util.request(xd); | ||
xhr = util.request(xd, opts); | ||
/* See #7 at http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx */ | ||
@@ -55,0 +55,0 @@ if (isXProtocol && global.XDomainRequest && xhr instanceof global.XDomainRequest) { |
@@ -19,3 +19,3 @@ | ||
var global = util.global(); | ||
var global = require('global'); | ||
@@ -22,0 +22,0 @@ /** |
@@ -21,5 +21,4 @@ /** | ||
var global = util.global(); | ||
var global = require('global'); | ||
/** | ||
@@ -91,2 +90,3 @@ * Obfuscated key for Blue Coat. | ||
opts.xd = this.xd; | ||
opts.agent = this.agent || false; | ||
return new Request(opts); | ||
@@ -145,2 +145,3 @@ }; | ||
this.data = undefined != opts.data ? opts.data : null; | ||
this.agent = opts.agent; | ||
this.create(); | ||
@@ -162,3 +163,3 @@ } | ||
Request.prototype.create = function(){ | ||
var xhr = this.xhr = util.request(this.xd); | ||
var xhr = this.xhr = util.request(this.xd, { agent: this.agent }); | ||
var self = this; | ||
@@ -165,0 +166,0 @@ |
@@ -20,3 +20,3 @@ /** | ||
var global = util.global(); | ||
var global = require('global'); | ||
@@ -23,0 +23,0 @@ /** |
@@ -20,3 +20,3 @@ /** | ||
var global = util.global(); | ||
var global = require('global'); | ||
@@ -62,3 +62,9 @@ /** | ||
this.socket = new (ws())(this.uri()); | ||
var uri = this.uri(); | ||
if (null == this.agent) { | ||
this.socket = new (ws())(uri); | ||
} else { | ||
// the user provided an explicit `http.Agent` instance (or `false`) to use | ||
this.socket = new (ws())(uri, { agent: this.agent }); | ||
} | ||
this.socket.onopen = function(){ | ||
@@ -65,0 +71,0 @@ self.onOpen(); |
@@ -0,1 +1,4 @@ | ||
var global = require('global'); | ||
/** | ||
@@ -8,12 +11,2 @@ * Status of page load. | ||
/** | ||
* Returns the global object | ||
* | ||
* @api private | ||
*/ | ||
exports.global = function () { | ||
return 'undefined' != typeof window ? window : global; | ||
}; | ||
/** | ||
* Inheritance. | ||
@@ -70,3 +63,2 @@ * | ||
exports.load = function (fn) { | ||
var global = exports.global(); | ||
if (global.document && document.readyState === 'complete' || pageLoaded) { | ||
@@ -121,4 +113,2 @@ return fn(); | ||
exports.parseJSON = function (data) { | ||
var global = exports.global(); | ||
if ('string' != typeof data || !data) { | ||
@@ -156,13 +146,4 @@ return null; | ||
exports.ua.hasCORS = 'undefined' != typeof XMLHttpRequest && (function () { | ||
var a; | ||
try { | ||
a = new XMLHttpRequest(); | ||
} catch (e) { | ||
return false; | ||
} | ||
exports.ua.hasCORS = require('has-cors'); | ||
return a.withCredentials != undefined; | ||
})(); | ||
/** | ||
@@ -205,9 +186,10 @@ * Detect webkit. | ||
* @param {Boolean} whether we need xdomain | ||
* @param {Object} opts Optional "options" object | ||
* @api private | ||
*/ | ||
exports.request = function request (xdomain) { | ||
exports.request = function request (xdomain, opts) { | ||
try { | ||
var _XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest; | ||
return new _XMLHttpRequest(); | ||
var _XMLHttpRequest = require('xmlhttprequest'); | ||
return new _XMLHttpRequest(opts); | ||
} catch (e) {} | ||
@@ -214,0 +196,0 @@ |
{ | ||
"name": "engine.io-client", | ||
"description": "Client for the realtime Engine", | ||
"version": "0.6.3", | ||
"version": "0.7.0", | ||
"homepage": "https://github.com/LearnBoost/engine.io-client", | ||
"contributors": [ | ||
{ "name": "Guillermo Rauch", "email": "rauchg@gmail.com" }, | ||
{ "name": "Vladimir Dronnikov", "email": "dronnikov@gmail.com" }, | ||
{ "name": "Christoph Dorn", "web": "https://github.com/cadorn" } | ||
{ | ||
"name": "Guillermo Rauch", | ||
"email": "rauchg@gmail.com" | ||
}, | ||
{ | ||
"name": "Vladimir Dronnikov", | ||
"email": "dronnikov@gmail.com" | ||
}, | ||
{ | ||
"name": "Christoph Dorn", | ||
"web": "https://github.com/cadorn" | ||
} | ||
], | ||
"dependencies": { | ||
"ws": "0.4.25", | ||
"xmlhttprequest": "1.5.0", | ||
"emitter": "http://github.com/component/emitter/archive/1.0.0.tar.gz", | ||
"global": "component/global", | ||
"has-cors": "component/has-cors", | ||
"ws": "https://github.com/einaros/ws/archive/2b4663655c9133a8131cf2a3a664caf1825c2409.tar.gz", | ||
"xmlhttprequest": "LearnBoost/node-XMLHttpRequest", | ||
"emitter": "http://github.com/component/emitter/archive/1.0.1.tar.gz", | ||
"indexof": "0.0.1", | ||
@@ -25,2 +36,5 @@ "engine.io-parser": "0.3.0", | ||
}, | ||
"scripts": { | ||
"test": "make test" | ||
}, | ||
"component": { | ||
@@ -40,3 +54,7 @@ "scripts": { | ||
} | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/LearnBoost/engine.io-client.git" | ||
} | ||
} |
@@ -112,2 +112,3 @@ # Engine.IO client | ||
- **Options** | ||
- `agent` (`http.Agent`): `http.Agent` to use, defaults to `false` (NodeJS only) | ||
- `upgrade` (`Boolean`): defaults to true, whether the client should try | ||
@@ -114,0 +115,0 @@ to upgrade the transport from long-polling to something better. |
@@ -102,2 +102,29 @@ | ||
describe('options', function () { | ||
it('should accept an `agent` option for WebSockets', function (done) { | ||
var polling = new eio.transports.websocket({ | ||
path: '/engine.io' | ||
, hostname: 'localhost' | ||
, agent: { | ||
addRequest: function () { | ||
done(); | ||
} | ||
} | ||
}); | ||
polling.doOpen(); | ||
}); | ||
it('should accept an `agent` option for XMLHttpRequest', function (done) { | ||
var polling = new eio.transports.polling({ | ||
path: '/engine.io' | ||
, hostname: 'localhost' | ||
, agent: { | ||
addRequest: function () { | ||
done(); | ||
} | ||
} | ||
}); | ||
polling.doOpen(); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
GitHub dependency
Supply chain riskContains a dependency which resolves to a GitHub URL. Dependencies fetched from GitHub specifiers are not immutable can be used to inject untrusted code or reduce the likelihood of a reproducible install.
Found 3 instances in 1 package
HTTP dependency
Supply chain riskContains a dependency which resolves to a remote HTTP URL which could be used to inject untrusted code and reduce overall package reliability.
Found 2 instances in 1 package
HTTP dependency
Supply chain riskContains a dependency which resolves to a remote HTTP URL which could be used to inject untrusted code and reduce overall package reliability.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
214
5
390138
8
29
12448
5
+ Addedglobal@component/global
+ Addedhas-cors@component/has-cors
- Removedcommander@0.6.1(transitive)
- Removedoptions@0.0.6(transitive)
- Removedtinycolor@0.0.1(transitive)
- Removedws@0.4.25(transitive)
- Removedxmlhttprequest@1.5.0(transitive)
Updatedemitter@http://github.com/component/emitter/archive/1.0.1.tar.gz
Updatedws@https://github.com/einaros/ws/archive/2b4663655c9133a8131cf2a3a664caf1825c2409.tar.gz