{"_id":"@danielwpz/health-check","_rev":"1-39b5e12e3c85c825e14dfce230bffb66","name":"@danielwpz/health-check","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@danielwpz/health-check","version":"0.0.1","description":"A promise-based health check util for Nodejs","main":"index.js","scripts":{"test":"node test.js"},"author":{"name":"Daniel Wang"},"license":"MIT","dependencies":{"bluebird":"^3.5.3","request":"^2.88.0","request-promise":"^4.2.2"},"directories":{"lib":"lib"},"devDependencies":{},"repository":{"type":"git","url":"git+https://github.com/danielwpz/health-check.git"},"bugs":{"url":"https://github.com/danielwpz/health-check/issues"},"homepage":"https://github.com/danielwpz/health-check#readme","gitHead":"91f5641e307b224aa82d02aef2c49c5838096a5b","_id":"@danielwpz/health-check@0.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"danielwpz","email":"danielwpz@gmail.com"},"dist":{"integrity":"sha512-3V/HIFvrqlMDC7KExpkYKS9ZgZ9+j/EhJHtfkTJkQXXGOfwsCOTDn1trEygRy1gp/ziUetGafdaPa1HT2HBMPg==","shasum":"20d22f355d70c2d4961f8c75270b01c7dfb26b76","tarball":"https://registry.npmjs.org/@danielwpz/health-check/-/health-check-0.0.1.tgz","fileCount":5,"unpackedSize":4596,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYx1aCRA9TVsSAnZWagAAENsP/12Wdr0tJXJRKuAztaYt\nRPwFAbuh7Jzk5y/j0fnHiOCYUSyeSaFO4hbjlwV3x3PCpHqPxyi/SiHicWT/\n+6/n3kX/PT8BXwNN8fHrNLiJ7hpPKFlDNPXyRf7SsMDqPfTUty27wljgNWJ+\nMARbS0Dh/VyhHzkkgogDfKK8JJoUBbZL5rz2eI0q/tAjKT7zVAFW+sq4rPKV\nBueq/zIFFpYeHCe9s1NerkhB0xQ5ZkG+zMRHPwcO3bmeiTLWm9CFlkfOgIIB\nsS5wD8+1+MGUPU8xoHhVmWQqJb81abzBxqDqVkesvGGnlyac6yPYL1tqYXYm\nIPiLyYHiTzVY5fDVn4v/DFtEXLg03ylQS57nSa/mDxc8plsaq+FThVKZNJD3\nbcvsFeGiWdULiyDQIM6tSejbDqXtGtovhkFXsk5cB6f6YSu+ZePg7s91b6PG\nCLEoftzft3BZrOCLYNRaFgKKb7EKlQqP0KesKrazfvq8ewkRKds1Ijt8cwa+\nxJsvpFcS+0YxP9/cKL2DKaA3teiUKrjEnMNrbchIBt8q6f8AqDOTffq0AcJ7\n1FSGrAFKsW3/9WAt0bEa5hp93BacxnnJWAF/kY1lfNW/u7zXn0PZDnFgib66\n9jAgeLcKFvxxZV9AUuFEza3igClMS5PaELEipJCDo9Xjfpn8c6eXAkDUGkrn\nSzQc\r\n=RTAs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEVIpv9BNcA3hMPMssBgAN+0eysS/k9DFDa4Izc5vCvbAiEAgDeTrWGqUudFUNVNmOEzvxazgCKSv6ACkPN02LD3Sgk="}]},"maintainers":[{"name":"danielwpz","email":"danielwpz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/health-check_0.0.1_1549999449977_0.532403178470189"},"_hasShrinkwrap":false}},"time":{"created":"2019-02-12T19:24:09.790Z","0.0.1":"2019-02-12T19:24:10.134Z","modified":"2022-04-05T02:41:35.707Z"},"maintainers":[{"name":"danielwpz","email":"danielwpz@gmail.com"}],"description":"A promise-based health check util for Nodejs","homepage":"https://github.com/danielwpz/health-check#readme","repository":{"type":"git","url":"git+https://github.com/danielwpz/health-check.git"},"author":{"name":"Daniel Wang"},"bugs":{"url":"https://github.com/danielwpz/health-check/issues"},"license":"MIT","readme":"# health-check\nA promise-based health check util for Nodejs\n\n## Example\n```\nconst Healthcheck = require('@danielwpz/health-check');\nconst Checker = Healthcheck.Checker;\nconst HTTPChecker = Healthcheck.HTTPChecker;\n\nconst okChecker = new Checker('ok', () => Promise.resolve(true), 100);\nconst throwChecker = new Checker('throw', () => Promise.reject('Bad happened'), 100);\nconst timeoutChecker = new Checker('timeout', () => new Promise((res, rej) => {}), 1000);\nconst httpChecker = new HTTPChecker('google', 'https://www.google.com/');\n\nconst healthcheck = new Healthcheck([okChecker, throwChecker, timeoutChecker, httpChecker]);\nhealthcheck.run().then(console.log);\n```\n\nshould print\n\n```\n[ { name: 'ok', healthy: true, critical: false, time: 32 },\n  { name: 'throw', healthy: false, critical: false, time: 30 },\n  { name: 'timeout', healthy: false, critical: false, time: 1004 },\n  { name: 'google', healthy: true, critical: false, time: 169 },\n  { name: '404', healthy: false, critical: false, time: 421 } ]\n```\n\n## API\n- `Healthcheck`\n    - `constructor([Healthcheck.Checker...])`\n    - `run(): Promise`\n\n- `Chekcer`\n    - `constructor(name, promiseFn, timeout, critical)`\n        - `name`: The name for this health checker\n        - `promiseFn`: A function that returns a `Promise`, which will be called each time when the checkers runs\n        - `timeout`: Timeout in ms\n        - `critical`: An indicator of whether this is a critical health check. Currently not used\n    - `check(): Promise`\n    \n- `HTTPChecker extends Checker`\n    - `constructor(name, url, timeout, critical)`\n        - `url`: The URL to `GET`. Only 2xx responses are considered healthy.\n","readmeFilename":"README.md"}