MCPcopy
hub / github.com/modstart-lib/aigcpanel / start

Function start

electron/mapi/httpserver/main.ts:744–769  ·  view source on GitHub ↗
(port?: number)

Source from the content-addressed store, hash-verified

742};
743
744const 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
771const stop = async (): Promise<void> => {
772 return new Promise((resolve) => {

Callers 1

main.tsFile · 0.70

Calls 5

getAvailablePortFunction · 0.85
generateTokenFunction · 0.85
createAppFunction · 0.85
writeCliAuthFileFunction · 0.85
stopFunction · 0.70

Tested by

no test coverage detected