MCPcopy Create free account
hub / github.com/ChromeDevTools/chrome-devtools-mcp / startSocketServer

Function startSocketServer

src/daemon/daemon.ts:214–262  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

212}
213
214async function startSocketServer() {
215 // Remove existing socket file if it exists (only on non-Windows)
216 if (!IS_WINDOWS) {
217 try {
218 fs.unlinkSync(socketPath);
219 } catch {
220 // ignore errors.
221 }
222 }
223
224 return await new Promise<void>((resolve, reject) => {
225 server = createServer(socket => {
226 const transport = new PipeTransport(socket, socket);
227 transport.onmessage = async (message: string) => {
228 logger?.('onmessage', message);
229 const response = await handleRequest(JSON.parse(message));
230 transport.send(JSON.stringify(response));
231 socket.end();
232 };
233 socket.on('error', error => {
234 logger?.('Socket error:', error);
235 });
236 });
237
238 server.listen(
239 {
240 path: socketPath,
241 readableAll: false,
242 writableAll: false,
243 },
244 async () => {
245 console.log(`Daemon server listening on ${socketPath}`);
246
247 try {
248 // Setup MCP client
249 await setupMCPClient();
250 resolve();
251 } catch (err) {
252 reject(err);
253 }
254 },
255 );
256
257 server.on('error', error => {
258 logger?.('Server error:', error);
259 reject(error);
260 });
261 });
262}
263
264async function cleanup() {
265 console.log('Cleaning up daemon...');

Callers 1

daemon.tsFile · 0.85

Calls 7

handleRequestFunction · 0.85
setupMCPClientFunction · 0.85
resolveFunction · 0.85
rejectFunction · 0.85
logMethod · 0.80
parseMethod · 0.45
sendMethod · 0.45

Tested by

no test coverage detected