@nodeswork/nam
Version:
Applet manager for Nodeswork containers.
40 lines (38 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const Socket = require("socket.io-client");
const logger = require("@nodeswork/logger");
const sbase = require("@nodeswork/sbase");
const def_1 = require("./def");
const errors = require("./errors");
const LOG = logger.getLogger();
function connectSocket(nodesworkServer, token, appletManager) {
const url = `${nodesworkServer}/device`;
const socket = Socket(url, { query: `token=${token}` });
LOG.info('Connecting to socket server', { url });
sbase.socket.socketRpcHost(socket, appletManager, def_1.nam.socketRpcEventNamePrefix);
socket
.on('connect', () => {
LOG.info('Device socket is connected.');
})
.on('error', (msg) => {
switch (msg) {
case 'token is invalid':
throw errors.UNAUTHENTICATED_ERROR;
default:
LOG.error('Socket connection error', msg);
}
})
.on('connect_failed', () => {
LOG.error('Device socket connects failed');
})
.on('connect_error', () => {
// Connection lost.
LOG.error('Device socket connection lost');
})
.on('disconnect', function () {
LOG.error('Device socket disconnected', arguments);
});
}
exports.connectSocket = connectSocket;
//# sourceMappingURL=socket.js.map