engine.io
Advanced tools
Comparing version 0.3.0 to 0.3.1
0.3.1 / 2012-10-08 | ||
================== | ||
* socket: faster upgrades (we perform a check immediately) | ||
* server: don't assume sid is numeric | ||
0.3.0 / 2012-10-04 | ||
@@ -3,0 +9,0 @@ ================== |
@@ -168,3 +168,3 @@ | ||
debug('handshaking client "%d"', id); | ||
debug('handshaking client "%s"', id); | ||
@@ -171,0 +171,0 @@ var transport = new transports[transport](req); |
@@ -169,2 +169,3 @@ /** | ||
check(); | ||
setTimeout(check, 1000); | ||
@@ -171,0 +172,0 @@ } else if ('upgrade' == packet.type) { |
{ | ||
"name": "engine.io" | ||
, "version": "0.3.0" | ||
, "version": "0.3.1" | ||
, "description": "The realtime engine behind Socket.IO. Provides the foundation of a bidirectional connection between client and server" | ||
@@ -13,3 +13,3 @@ , "main": "./lib/engine.io" | ||
"debug": "0.6.0" | ||
, "engine.io-client": "0.3.0" | ||
, "engine.io-client": "0.3.1" | ||
, "ws": "~0.4.21" | ||
@@ -16,0 +16,0 @@ , "base64id": "0.1.0" |
@@ -378,33 +378,52 @@ /*global eio,eioc,listen,request,expect*/ | ||
it('should trigger if a poll request is ongoing and the underlying' + | ||
' socket closes, as in a browser tab close', function (done) { | ||
' socket closes, as in a browser tab close', function ($done) { | ||
var engine = listen({ allowUpgrades: false }, function (port) { | ||
// hack to access the sockets created by node-xmlhttprequest | ||
// see: https://github.com/driverdan/node-XMLHttpRequest/issues/44 | ||
var request = require('http').request; | ||
var sockets = []; | ||
http.request = function(opts){ | ||
var req = request.apply(null, arguments); | ||
req.on('socket', function(socket){ | ||
sockets.push(socket); | ||
}); | ||
return req; | ||
}; | ||
function done(){ | ||
http.request = request; | ||
$done(); | ||
} | ||
var socket = new eioc.Socket('ws://localhost:%d'.s(port)) | ||
, serverSocket; | ||
engine.on('connection', function(socket){ | ||
serverSocket = socket; | ||
engine.on('connection', function(s){ | ||
serverSocket = s; | ||
}); | ||
socket.transport.on('poll', function(){ | ||
// at this time server's `connection` should have been fired | ||
expect(serverSocket).to.be.an('object'); | ||
// we set a timer to wait for the request to actually reach | ||
setTimeout(function(){ | ||
// at this time server's `connection` should have been fired | ||
expect(serverSocket).to.be.an('object'); | ||
// OPENED readyState is expected - we qre actually polling | ||
expect(socket.transport.pollXhr.xhr.readyState).to.be(1); | ||
// OPENED readyState is expected - we qre actually polling | ||
expect(socket.transport.pollXhr.xhr.readyState).to.be(1); | ||
// 2 requests sent to the server over an unique port means | ||
// we should have been assigned 2 sockets | ||
var sockets = http.globalAgent.sockets['localhost:%d'.s(port)]; | ||
expect(sockets.length).to.be(2); | ||
// 2 requests sent to the server over an unique port means | ||
// we should have been assigned 2 sockets | ||
expect(sockets.length).to.be(2); | ||
// expect the socket to be open at this point | ||
expect(serverSocket.readyState).to.be('open'); | ||
// expect the socket to be open at this point | ||
expect(serverSocket.readyState).to.be('open'); | ||
// kill the underlying connection | ||
serverSocket.on('close', function(reason, err){ | ||
expect(reason).to.be('transport error'); | ||
expect(err.message).to.be('poll connection closed prematurely'); | ||
done(); | ||
}); | ||
sockets[1].end(); | ||
// kill the underlying connection | ||
sockets[1].end(); | ||
serverSocket.on('close', function(reason, err){ | ||
expect(reason).to.be('transport error'); | ||
expect(err.message).to.be('poll connection closed prematurely'); | ||
done(); | ||
}); | ||
}, 50); | ||
}); | ||
@@ -414,6 +433,6 @@ }); | ||
it('should not trigger with connection: close header', function(done){ | ||
it('should not trigger with connection: close header', function($done){ | ||
var engine = listen({ allowUpgrades: false }, function(port){ | ||
// intercept requests to add connection: close | ||
var oldRequest = http.request; | ||
var request = http.request; | ||
http.request = function(){ | ||
@@ -423,5 +442,10 @@ var opts = arguments[0]; | ||
opts.headers.Connection = 'close'; | ||
return oldRequest.apply(this, arguments); | ||
return request.apply(this, arguments); | ||
}; | ||
function done(){ | ||
http.request = request; | ||
$done(); | ||
} | ||
engine.on('connection', function(socket){ | ||
@@ -440,3 +464,2 @@ socket.on('message', function(msg){ | ||
expect(msg).to.be('woot'); | ||
http.request = oldRequest; | ||
done(); | ||
@@ -443,0 +466,0 @@ }); |
89880
2339
5
+ Addedengine.io-client@0.3.1(transitive)
- Removedengine.io-client@0.3.0(transitive)
Updatedengine.io-client@0.3.1