MCPcopy
hub / github.com/callumalpass/tasknotes / start

Method start

src/services/HTTPAPIService.ts:293–325  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

291 }
292
293 async start(): Promise<void> {
294 return new Promise((resolve, reject) => {
295 try {
296 // eslint-disable-next-line @typescript-eslint/no-require-imports, import/no-nodejs-modules -- HTTP API is desktop-only and lazy-loads Node http at server start.
297 const http = require("http") as HttpModuleLike;
298 this.server = http.createServer((req, res) => {
299 this.handleRequest(req, res).catch((error) => {
300 tasknotesLogger.error("Request handling error:", {
301 category: "provider",
302 operation: "request-handling",
303 error: error,
304 });
305 this.sendResponse(res, 500, this.errorResponse("Internal server error"));
306 });
307 });
308
309 this.server.listen(this.plugin.settings.apiPort, API_BIND_HOST, () => {
310 resolve();
311 });
312
313 this.server.on("error", (err) => {
314 tasknotesLogger.error("API server error:", {
315 category: "provider",
316 operation: "api-server",
317 error: err,
318 });
319 reject(err);
320 });
321 } catch (error) {
322 reject(error instanceof Error ? error : new Error(String(error)));
323 }
324 });
325 }
326
327 async stop(): Promise<void> {
328 return new Promise((resolve) => {

Callers

nothing calls this directly

Calls 6

handleRequestMethod · 0.95
sendResponseMethod · 0.95
errorResponseMethod · 0.95
errorMethod · 0.80
listenMethod · 0.80
onMethod · 0.65

Tested by

no test coverage detected