Skip to content

Instantly share code, notes, and snippets.

@PatrickJS
Forked from jfromaniello/gist:8418116
Created April 3, 2014 06:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PatrickJS/9949084 to your computer and use it in GitHub Desktop.
Save PatrickJS/9949084 to your computer and use it in GitHub Desktop.
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({port: 8080});
var jwt = require('jsonwebtoken');
/**
The way I like to work with 'ws' is to convert everything to an event if possible.
**/
function toEvent (message) {
try {
var event = JSON.parse(message);
this.emit(event.type, event.payload);
} catch(err) {
console.log('not an event' , err);
}
}
wss.on('connection', function(ws) {
ws.on('message', toEvent)
.on('authenticate', function (data) {
jwt.verify(data.token, options, function (err, decoded) {
//now is authenticated
});
});
ws.send('something');
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment