express-router-status
v1.0.0
Published
Express router which provides a status endpoint.
Downloads
10
Maintainers
Readme
Router
Express router which provides a status endpoint.
Installation
$ npm install express-router-status
Usage
var router = require( 'express-router-status' );
router
A mountable Express route handler.
var express = require( 'express' );
// Create a new application:
var app = express();
// Mount the route handler on the application:
app.use( '/health', router );
Routes
GET /status
URI endpoint for getting a server application's status.
Response: 200 (text/plain)
The response body will be
OK
Examples
From the command-line,
$ curl 'http://127.0.0.1:<port>/status'
From another Node application,
var request = require( 'request' );
request({
'uri': 'http://127.0.0.1:<port>/status',
'method': 'GET'
}, onResponse );
function onResponse( error, response, body ) {
if ( error ) {
console.error( error );
return;
}
console.log( body );
}
A successful request will receive the following response body:
OK
Examples
var request = require( 'request' ),
express = require( 'express' ),
router = require( 'express-router-status' );
// APP //
var app = express();
// Mount the router on the application:
app.use( '/health', router );
// Create an HTTP server:
app.listen( 7331, onListen );
function onListen() {
console.log( 'Server is listening for requests on port: 7331.' );
run();
}
// RUN //
var count = 0;
function run() {
if ( ++count > 10 ) {
process.exit( 0 );
}
setTimeout( ping, 1000 );
}
function ping() {
request({
'method': 'GET',
'uri': 'http://127.0.0.1:7331/health/status'
}, onResponse );
}
function onResponse( error, response, body ) {
if ( error ) {
throw error;
}
console.log( 'Status: %s.', response.statusCode );
console.log( 'Body: %s.', body );
run();
}
To run the example code from the top-level application directory,
$ node ./examples/index.js
Tests
Unit
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:
$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
Test Coverage
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:
$ make test-cov
Istanbul creates a ./reports/coverage
directory. To access an HTML version of the report,
$ make view-cov
License
Copyright
Copyright © 2015. Athan Reines.