import http from 'node:http'; import process from 'node:process'; const host = '127.0.0.1'; const port = 3000; let shuttingDown = false; const server = http.createServer((request, response) => { response.writeHead(200, { 'content-type': 'text/plain; charset=utf-8' }); response.end('ready\n'); }); function shutdown(signal) { if (shuttingDown) { return; } shuttingDown = true; console.log(`received ${signal}, closing HTTP server`); const forceCloseTimer = setTimeout(() => { console.error('grace period expired, forcing connections closed'); server.closeAllConnections(); process.exit(1); }, 8000); forceCloseTimer.unref(); server.close((error) => { clearTimeout(forceCloseTimer); if (error) { console.error(error); process.exitCode = 1; return; } console.log('HTTP server closed'); }); } process.on('SIGTERM', shutdown); process.on('SIGINT', shutdown); server.listen(port, host, () => { console.log(`listening on http://${host}:${port} pid=${process.pid}`); });