raas-server
Version:
rhamt as a service server
30 lines • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const cp = require("child_process");
const os = require("os");
const SERVER_STARTED_REGEX = /.*rhamt server listening on (.*)/;
class ServerRunnerDelegate {
static run(executable, port, startTimeout, out) {
return new Promise((resolve, reject) => {
let started = false;
const process = cp.spawn(executable, ['--startServer', port], { cwd: os.homedir() });
const outputListener = (data) => {
const line = data.toString();
if (SERVER_STARTED_REGEX.exec(line) && !started) {
started = true;
resolve(process);
}
out(line);
};
process.stdout.addListener('data', outputListener);
setTimeout(() => {
if (!started) {
process.kill();
reject(`startup time exceeded ${startTimeout}ms.`);
}
}, startTimeout);
});
}
}
exports.ServerRunnerDelegate = ServerRunnerDelegate;
//# sourceMappingURL=serverRunnerDelegate.js.map