diff --git a/lib/stratum.js b/lib/stratum.js index c197436..d5016f1 100644 --- a/lib/stratum.js +++ b/lib/stratum.js @@ -212,10 +212,11 @@ var StratumClient = function(options){ socket.destroy(); return; } - if (dataBuffer.slice(-1) === '\n'){ + if (dataBuffer.indexOf('\n') !== -1){ var messages = dataBuffer.split('\n'); + var incomplete = dataBuffer.slice(-1) === '\n' ? '' : messages.pop(); messages.forEach(function(message){ - if (message.trim() === '') return; + if (message === '') return; var messageJson; try { messageJson = JSON.parse(message); @@ -231,7 +232,7 @@ var StratumClient = function(options){ handleMessage(messageJson); } }); - dataBuffer = ''; + dataBuffer = incomplete; } }); socket.on('close', function() {