JavaScript Wrapper Library
There is a JavaScript ES6 wrapper library that can be imported and contains a class that can be used to simplify the communication.
For access this reach out on [email protected]
Class
Constructor
serverURL, type, clientVersion, currentSystem, ssl = false, logger = console
Methods
setSystem(string)
close()
send(object)
makeHeader(): object
connect(string)
Events
open
close
error: error
message: header, payload, event
disconnect
ping
Examples
An example of the libary being imported and used when it is in the /modles/ subdirectory is as follows:
import _ServerSocket from './modules/serverSocket.js';
const serverURL = '127.0.0.1';
const APIVersion = '1.0.0';
const systemName = 'Demo';
const isSSL = false;
const type = 'Browser';
const Server = new _ServerSocket(serverURL, type, APIVersion, systemName, isSSL);
Server.addEventListener('message', event => {
const [header, payload] = event.detail;
socketDoMessage(header, payload);
});
Server.addEventListener('open', event => {
Server.send({
'command':'register',
'subscribe': ['flows', 'network', 'system', 'prompt']
});
document.getElementById('disconnected').classList.add('hidden');
});
Server.addEventListener('close', ()=>{
const _logs = document.getElementById('logs');
_logs.innerHTML = '<div class="logDisconnect">Disconnected</div>' + _logs.innerHTML;
document.getElementById('disconnected').classList.remove('hidden')
});
function socketDoMessage(header, payload) {
switch (payload.module) {
case 'flows':
doFlows(payload);
break;
case 'network':
doNetwork(payload);
break;
case 'prompt':
doPropmt(payload);
break;
case 'playback':
doPlayback(payload);
break;
case 'system':
doSystem(payload);
break;
default:
break;
}
}
function doFlows(payload) {
//doStuff
}
function doNetwork(payload) {
//doStuff
}
function doPropmt(payload) {
//doStuff
}
function doPlayback(payload) {
//doStuff
}
function doSystem(payload) {
//doStuff
}
No Comments