method handlers
This commit is contained in:
+38
-7
@@ -4,17 +4,48 @@ const assert = require('assert');
|
||||
const ws = new WebSocket('ws://localhost:40000');
|
||||
ws.binaryType = 'arraybuffer';
|
||||
|
||||
// handle user auth within the socket itself
|
||||
// https://www.christian-schneider.net/CrossSiteWebSocketHijacking.html
|
||||
let user = null;
|
||||
|
||||
function user_login(res) {
|
||||
user = res;
|
||||
console.log(user);
|
||||
return true;
|
||||
}
|
||||
|
||||
function new_cryp(cryp) {
|
||||
console.log('got a new cryp');
|
||||
}
|
||||
|
||||
const handlers = {
|
||||
'cryp_generate': new_cryp,
|
||||
'user_login': user_login,
|
||||
'user_create': user_login,
|
||||
};
|
||||
|
||||
function receive(res) {
|
||||
if (res.err) return console.error(res.err);
|
||||
const { method, params } = res;
|
||||
return handlers[method](params);
|
||||
}
|
||||
|
||||
function send(msg) {
|
||||
msg.token = user && user.token;
|
||||
ws.send(cbor.encode(msg));
|
||||
}
|
||||
|
||||
// Connection opened
|
||||
ws.addEventListener('open', function (event) {
|
||||
ws.send(cbor.encode({ method: 'cryp_generate', params: { level: 64 }}));
|
||||
ws.send(cbor.encode({ method: 'account_create', params: { name: 'ntr', password: 'grep' }}));
|
||||
ws.send(cbor.encode({ method: 'account_create', params: { name: 'mashy', password: 'grepgrepgrep' }}));
|
||||
send({ method: 'cryp_generate', params: { level: 64 }});
|
||||
send({ method: 'user_create', params: { name: 'lichking', password: 'grepgrepgrep' }});
|
||||
});
|
||||
|
||||
// Listen for messages
|
||||
ws.addEventListener('message', function (event) {
|
||||
console.log('Message from server ', event.data);
|
||||
const blob = new Uint8Array(event.data);
|
||||
const decoded = cbor.decodeAll(blob);
|
||||
console.log(decoded[0]);
|
||||
console.log('Message from server ', event.data);
|
||||
const blob = new Uint8Array(event.data);
|
||||
const decoded = cbor.decode(blob);
|
||||
console.log(decoded);
|
||||
return receive(decoded);
|
||||
});
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "parcel index.html",
|
||||
"start": "parcel index.html --port 40080",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
|
||||
Reference in New Issue
Block a user