sse-express
sse-express copied to clipboard
Rooms functionality
Add ability to group connections by rooms and send events to this group. Something like:
let sseExpress = require('./sse-express');
//...
app.get('/join-room', function(req, res) {
res.sse.join('room-name'); // joins connection to room
sseExpress.room.join('room-name', clientId);
});
app.get('/leave-room', sseExpress.room, function(req, res) {
sseExpress.room.leave('room-name', clientId); // leaves connection to room
});
app.get('/messages', sseExpress(), function(req, res) {
res.sse.toRoom('room-name', clientId, {
event: 'message',
data: {
text: req.body.message,
userId: req.body.userId
},
id: Date.now() + req.body.userId
})
});
I'd suggest putting it in separate library extending this one, core library should do one thing and do it well