1.0.0 • Published 9 years ago

express-router-ping v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

Router

NPM version Build ping Coverage ping Dependencies

Express router which provides a ping endpoint.

Installation

$ npm install express-router-ping

Usage

var router = require( 'express-router-ping' );

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( '/', router );

Routes

GET /ping

URI endpoint for pinging the server application.

Response: 200 (text/plain)

The response body will be

pong
Examples

From the command-line,

$ curl 'http://127.0.0.1:<port>/ping'

From another Node application,

var request = require( 'request' );

request({
	'uri': 'http://127.0.0.1:<port>/ping',
	'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:

pong

Examples

var request = require( 'request' ),
	express = require( 'express' ),
	router = require( 'express-router-ping' );


// APP //

var app = express();

// Mount the router on the application:
app.use( '/', 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/ping'
	}, 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

MIT license.

Copyright

Copyright © 2015. Athan Reines.