ChainPadSrv.js : factor parseMessage a wee bit

pull/1/head
ansuz 9 years ago
parent 3928c89d35
commit 0f73ea793d

@ -24,31 +24,18 @@ var PING = 4;
var PONG = 5;
var parseMessage = function (msg) {
var passLen = msg.substring(0,msg.indexOf(':'));
msg = msg.substring(passLen.length+1);
var pass = msg.substring(0,Number(passLen));
msg = msg.substring(pass.length);
var unameLen = msg.substring(0,msg.indexOf(':'));
msg = msg.substring(unameLen.length+1);
var userName = msg.substring(0,Number(unameLen));
msg = msg.substring(userName.length);
var channelIdLen = msg.substring(0,msg.indexOf(':'));
msg = msg.substring(channelIdLen.length+1);
var channelId = msg.substring(0,Number(channelIdLen));
msg = msg.substring(channelId.length);
var contentStrLen = msg.substring(0,msg.indexOf(':'));
msg = msg.substring(contentStrLen.length+1);
var contentStr = msg.substring(0,Number(contentStrLen));
return {
user: userName,
pass: pass,
channelId: channelId,
content: JSON.parse(contentStr)
};
var orig=msg,
res ={};
// two or more? use a for
['pass','user','channelId','content'].forEach(function(attr){
var len=msg.substring(0,msg.indexOf(':'));
msg=msg.substring(len.length+1);
var prop=msg.substring(0,Number(len));
msg = msg.substring(prop.length);
res[attr]=prop;
});
res.content=JSON.parse(res.content);
return res;
};
// get the password off the message before sending it to other clients.

Loading…
Cancel
Save