ChainPadSrv.js : factor parseMessage a wee bit
parent
3928c89d35
commit
0f73ea793d
|
@ -24,31 +24,18 @@ var PING = 4;
|
||||||
var PONG = 5;
|
var PONG = 5;
|
||||||
|
|
||||||
var parseMessage = function (msg) {
|
var parseMessage = function (msg) {
|
||||||
var passLen = msg.substring(0,msg.indexOf(':'));
|
var orig=msg,
|
||||||
msg = msg.substring(passLen.length+1);
|
res ={};
|
||||||
var pass = msg.substring(0,Number(passLen));
|
// two or more? use a for
|
||||||
msg = msg.substring(pass.length);
|
['pass','user','channelId','content'].forEach(function(attr){
|
||||||
|
var len=msg.substring(0,msg.indexOf(':'));
|
||||||
var unameLen = msg.substring(0,msg.indexOf(':'));
|
msg=msg.substring(len.length+1);
|
||||||
msg = msg.substring(unameLen.length+1);
|
var prop=msg.substring(0,Number(len));
|
||||||
var userName = msg.substring(0,Number(unameLen));
|
msg = msg.substring(prop.length);
|
||||||
msg = msg.substring(userName.length);
|
res[attr]=prop;
|
||||||
|
});
|
||||||
var channelIdLen = msg.substring(0,msg.indexOf(':'));
|
res.content=JSON.parse(res.content);
|
||||||
msg = msg.substring(channelIdLen.length+1);
|
return res;
|
||||||
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)
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// get the password off the message before sending it to other clients.
|
// get the password off the message before sending it to other clients.
|
||||||
|
|
Loading…
Reference in New Issue