(port?: number)
| 742 | }; |
| 743 | |
| 744 | const start = async (port?: number): Promise<void> => { |
| 745 | if (isRunning) { |
| 746 | await stop(); |
| 747 | } |
| 748 | const resolvedPort = port || (await getAvailablePort()); |
| 749 | const token = generateToken(); |
| 750 | return new Promise((resolve, reject) => { |
| 751 | const app = createApp(resolvedPort, token); |
| 752 | const s = http.createServer(app); |
| 753 | s.listen(resolvedPort, "127.0.0.1", async () => { |
| 754 | server = s; |
| 755 | isRunning = true; |
| 756 | runningPort = resolvedPort; |
| 757 | runningToken = token; |
| 758 | await ConfigMain.set("httpServerPort", resolvedPort); |
| 759 | await ConfigMain.set("httpServerToken", token); |
| 760 | writeCliAuthFile(resolvedPort, token); |
| 761 | Log.info("httpserver.start", { port: resolvedPort }); |
| 762 | resolve(); |
| 763 | }); |
| 764 | s.on("error", (err: any) => { |
| 765 | Log.error("httpserver.error", err); |
| 766 | reject(err); |
| 767 | }); |
| 768 | }); |
| 769 | }; |
| 770 | |
| 771 | const stop = async (): Promise<void> => { |
| 772 | return new Promise((resolve) => { |
no test coverage detected