4.0.1 • Published 5 years ago
@diegoh/koa-healthcheck-routers v4.0.1
@diegoh/koa-healthcheck-routers
This module exports 2 @koa/router routers.
1. Deep Checks
Provides a router with a single GET route (defaults to /healthcheck).
Requires an array of URLs to check as configuration.
It checks each of the URLs provided. A 200 OK response means the service can connect to all services.
If any of the services fails to respond, or returns any status code other than 2xx, the response for this endpoint will be 500 Internal Server Error.
The details of the erros can be found in the response body.
2. Shallow Checks
Cheap check for the service itself, it does not check any underlying services.
Similarly, a 200 status code means the service is up.
Example
import * as Koa from 'koa';
import { DeepRouter, ShallowRouter } from '@diegoh/koa-healthcheck-routers';
const urls = [
new URL('http://localhost:11111/healthcheck'),
new URL('http://localhost:22222/healthcheck'),
new URL('http://localhost:33333/healthcheck')
];
const app = new Koa();
const healthcheck = new DeepRouter(urls);
const heartbeat = new ShallowRouter();
app.use(healthcheck.routes());
app.use(healthcheck.allowedMethods());
app.use(heartbeat.routes());
app.use(heartbeat.allowedMethods());
app.listen(3000);Development
- Create a new branch from
mainwith a name relevant to the changes you're making.git branch -b my-new-feature-description - Push the branch and open a Pull Request.
- Request a code review, make sure all tests pass.
- Commits will be Squash merged into the mainline to keep things tidy.
Testing
Unit
npm run test:unit
Coverage
npm run test:coverage
Integration
npm run test:integration
Lint
npm run lint or npm run lint:fix