A Connect middleware that should indicate the health of your service.
A load balancer, for example, can use this endpoint to decide whether to include the service in its pool (in ELB for example, this is called "health").
$ npm install connect-ping
Here is a simple example (see
var connect = require'connect'var ping = require'connect-ping'connectcreateServerconnectloggerpingok_text: 'awesome'check_url: ''ok_regex: /bingo/version: "2.0"listen4000;
When building/mounting your middlewares, you might want to use the configuration:
versionis an accessor for your application version. A global version variable might be a good idea.
check_urlis a url that
pingwill fetch and run
ok_regexon. If the match is ok, we're good. You must specify
timeout_secsis the amount of seconds we wait until spitting out an error.
checkwill accept a function to run. This is a good alternative to
check_url: run a couple of sanity checks to indicate you're good.
error_textare configuration for you to use, to configure against LB quirks. The default config should work against ELBs (Amazon elastic LB).
ping will output intelligent headers. First
x-ping-error will try to
explain why ping failed.
x-app-version will expose the current deployed version of your
app. This is good in order to validate nothing crawled up to production,
as well as validation for post-production deployment.
ping will bust any browser/client cache for you.
Fork, implement, add tests, pull request, get my everlasting thanks and a respectable place here :).