UNPKG

@5app/health-check-helpers

Version:
44 lines (35 loc) 858 B
// Inspired by https://blog.sixeyed.com/docker-healthchecks-why-not-to-use-curl-or-iwr/ import http from 'node:http'; const { HEALTHCHECK_PORT = 9999, HEALTHCHECK_HOST = 'localhost', HEALTHCHECK_TIMEOUT = 5000, // In milliseconds HEALTHCHECK_PATH = '/', } = process.env; const options = { host: HEALTHCHECK_HOST, port: HEALTHCHECK_PORT, path: HEALTHCHECK_PATH, timeout: HEALTHCHECK_TIMEOUT, }; const request = http.request(options, res => { if (res.statusCode === 200) { let body = ''; res.setEncoding('utf8'); res.on('data', chunk => { body += chunk; }); res.on('end', () => { console.log(body); // eslint-disable-line no-console process.exit(0); }); } else { process.exit(1); } }); request.on('error', error => { console.log(error.message); // eslint-disable-line no-console process.exit(1); }); request.end();