Blocknotify listener errors are logged and don't crash the system.

This commit is contained in:
Matt 2014-04-02 16:17:57 -06:00
parent db99f49ec0
commit abcf97d34f
1 changed files with 23 additions and 16 deletions

View File

@ -17,27 +17,34 @@ var listener = module.exports = function listener(options){
}
var blockNotifyServer = net.createServer(function(c) {
emitLog('Block listener has incoming connection');
var data = '';
c.on('data', function(d){
emitLog('Block listener received blocknotify data');
data += d;
if (data.slice(-1) === '\n'){
c.end();
}
});
c.on('end', function() {
try {
c.on('data', function (d) {
emitLog('Block listener received blocknotify data');
data += d;
if (data.slice(-1) === '\n') {
c.end();
}
});
c.on('end', function () {
emitLog('Block listener connection ended');
emitLog('Block listener connection ended');
var message = JSON.parse(data);
if (message.password === options.password){
_this.emit('hash', message);
}
else
emitLog('Block listener received notification with incorrect password');
var message = JSON.parse(data);
if (message.password === options.password) {
_this.emit('hash', message);
}
else
emitLog('Block listener received notification with incorrect password');
});
}
catch(e){
emitLog('Block listener failed to parse message ' + data);
}
});
});
blockNotifyServer.listen(options.port, function() {
emitLog('Block notify listener server started on port ' + options.port)