MCPcopy Create free account
hub / github.com/UnsignedInt8/LightSword / sendCommand

Function sendCommand

common/ipc.ts:69–95  ·  view source on GitHub ↗
(tag: string, cmd: string, callback: (code) => void)

Source from the content-addressed store, hash-verified

67}
68
69export function sendCommand(tag: string, cmd: string, callback: (code) => void) {
70 let cmdMap = {
71 'stop': COMMAND.STOP,
72 'restart': COMMAND.RESTART,
73 'status': COMMAND.STATUS,
74 'statusjson': COMMAND.STATUSJSON,
75 };
76
77 let command = cmdMap[cmd.toLowerCase()];
78
79 if (!command) {
80 console.error('Command is not supported');
81 return callback(1);
82 }
83
84 let path = util.format('/tmp/lightsword-%s.sock', tag);
85 let socket = net.createConnection(path, async () => {
86 await socket.writeAsync(new Buffer([command]));
87 let msg = await socket.readAsync();
88 console.info(msg.toString('utf8'));
89 socket.destroy();
90 callback(0);
91 });
92
93 socket.on('error', (err: Error) => { console.info(`${tag} is not running or unix socket error.`); callback(1); });
94 socket.setTimeout(5 * 1000);
95}

Callers

nothing calls this directly

Calls 9

errorMethod · 0.80
formatMethod · 0.80
infoMethod · 0.80
toStringMethod · 0.80
destroyMethod · 0.80
onMethod · 0.80
writeAsyncMethod · 0.65
readAsyncMethod · 0.65
setTimeoutMethod · 0.65

Tested by

no test coverage detected