Skip to content

Commit f4fc517

Browse files
authoredMar 10, 2018
[fix] Properly emit 'connect' when using a custom namespace (#3197)
When using a custom namespace with a middleware, the client did not receive the 'connect' event. Fixes #3082
1 parent be61ba0 commit f4fc517

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed
 

‎lib/namespace.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ Namespace.prototype.initAdapter = function(){
100100
*/
101101

102102
Namespace.prototype.use = function(fn){
103-
if (this.server.eio) {
103+
if (this.server.eio && this.name === '/') {
104104
debug('removing initial packet');
105105
delete this.server.eio.initialPacket;
106106
}

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"engine.io": "~3.2.0",
2929
"has-binary2": "~1.0.2",
3030
"socket.io-adapter": "~1.1.0",
31-
"socket.io-client": "2.0.4",
31+
"socket.io-client": "socketio/socket.io-client",
3232
"socket.io-parser": "~3.2.0"
3333
},
3434
"devDependencies": {

‎test/socket.io.js

+17
Original file line numberDiff line numberDiff line change
@@ -2352,6 +2352,23 @@ describe('socket.io', function(){
23522352
done();
23532353
});
23542354
});
2355+
2356+
it('should work with a custom namespace', (done) => {
2357+
var srv = http();
2358+
var sio = io();
2359+
sio.listen(srv);
2360+
sio.of('/chat').use(function(socket, next){
2361+
next();
2362+
});
2363+
2364+
var count = 0;
2365+
client(srv, '/').on('connect', () => {
2366+
if (++count === 2) done();
2367+
});
2368+
client(srv, '/chat').on('connect', () => {
2369+
if (++count === 2) done();
2370+
});
2371+
});
23552372
});
23562373

23572374
describe('socket middleware', function(done){

0 commit comments

Comments
 (0)
Please sign in to comment.