mirror of
https://github.com/socketio/socket.io.git
synced 2026-04-30 03:00:39 -04:00
Cleanly closing connection if data is incorrectly framed
Reorganized tests
This commit is contained in:
@@ -79,7 +79,7 @@ WebSocket.prototype._handle = function(data){
|
||||
chunk = chunks[i];
|
||||
if (chunk[0] !== '\u0000'){
|
||||
this.listener.options.log('Data incorrectly framed by UA. Dropping connection');
|
||||
this.connection.destroy();
|
||||
this.connection.end();
|
||||
return false;
|
||||
}
|
||||
this._onMessage(chunk.slice(1));
|
||||
|
||||
@@ -1,52 +1,17 @@
|
||||
var io = require('./../'),
|
||||
Listener = io.Listener,
|
||||
port = 8080;
|
||||
Client = require('./../lib/socket.io/client'),
|
||||
WebSocket = require('./support/node-websocket-client/lib/websocket').WebSocket,
|
||||
empty = new Function,
|
||||
port = 8080,
|
||||
|
||||
create = function(fn){
|
||||
var server = require('http').createServer(empty), client;
|
||||
server.listen(port, function(){
|
||||
client = new WebSocket('ws://localhost:'+ port++ +'/socket.io/websocket', 'borf');
|
||||
});
|
||||
return {server: server, client: client, close: function(){
|
||||
client.close();
|
||||
server.close();
|
||||
}};
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
'test server initialization': function(assert){
|
||||
var http = create(),
|
||||
sio = io.listen(http.server);
|
||||
assert.ok(sio instanceof Listener);
|
||||
http.close();
|
||||
},
|
||||
|
||||
'test connection and handshake': function(assert){
|
||||
var server = require('http').createServer(empty),
|
||||
sio = io.listen(server),
|
||||
client,
|
||||
clientCount = 0,
|
||||
|
||||
close = function(){
|
||||
client.close();
|
||||
server.close();
|
||||
assert.ok(clientCount, 1);
|
||||
};
|
||||
|
||||
server.listen(port, function(){
|
||||
client = new WebSocket('ws://localhost:'+ port++ +'/socket.io/websocket', 'borf');
|
||||
client.onmessage = function(){
|
||||
console.log('test');
|
||||
};
|
||||
});
|
||||
|
||||
sio.on('connection', function(client){
|
||||
console.log('test');
|
||||
clientCount++;
|
||||
assert.ok(client instanceof Client);
|
||||
});
|
||||
'test server initialization': function(assert){
|
||||
var server = require('http').createServer(function(){}), sio;
|
||||
server.listen(8080);
|
||||
sio = io.listen(server);
|
||||
assert.ok(sio instanceof Listener);
|
||||
server.close();
|
||||
}
|
||||
|
||||
};
|
||||
35
tests/transports.websocket.js
Normal file
35
tests/transports.websocket.js
Normal file
@@ -0,0 +1,35 @@
|
||||
var io = require('./../'),
|
||||
Listener = io.Listener,
|
||||
Client = require('./../lib/socket.io/client'),
|
||||
WebSocket = require('./support/node-websocket-client/lib/websocket').WebSocket;
|
||||
|
||||
module.exports = {
|
||||
|
||||
'test connection and handshake': function(assert){
|
||||
var server = require('http').createServer(function(){}), sio, client, clientCount, close;
|
||||
server.listen(8081);
|
||||
|
||||
sio = io.listen(server);
|
||||
client;
|
||||
clientCount = 0;
|
||||
close = function(){
|
||||
client.close();
|
||||
server.close();
|
||||
assert.ok(clientCount, 1);
|
||||
};
|
||||
|
||||
server.listen(port, function(){
|
||||
client = new WebSocket('ws://localhost:8081/socket.io/websocket', 'borf');
|
||||
client.onmessage = function(){
|
||||
console.log('test');
|
||||
};
|
||||
});
|
||||
|
||||
sio.on('connection', function(client){
|
||||
console.log('test');
|
||||
clientCount++;
|
||||
assert.ok(client instanceof Client);
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user