JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1381
  • Score
    100M100P100Q114472F
  • License MIT

Health route for your Hapi.js server

Package Exports

  • hapi-alive

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hapi-alive) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

hapi-alive

Build Status Code Climate Test Coverage

Health route for your hapi.js server

Requirements

  • Node 8+
  • Hapi 17+

Usage

Install from NPM

npm install --save hapi-alive

Options

The defaults are as described below. You can override any defaults by passing them in as options.

const defaults = {
    path: '/health',
    tags: ['health', 'monitor'],
    responses: {
        healthy: {
            message: 'I\'m healthy!!!'
        },
        unhealthy: {
            statusCode: 400
        }
    },
    healthCheck: async function (_server) {

        return await true;
    },
    auth: false
};

Example

var Hapi = require('hapi');

async function createServer() {
    const server = Hapi.Server();

    // Register alive plugin
    await server.register({
        plugin: require('hapi-alive'),
        options: {
            path: '/health', //Health route path
            tags: ['health', 'monitor'],
            healthCheck: async function(server) {
                //Here you should preform your health checks
                //If something went wrong , throw an error.
                if (somethingFailed) {
                    throw new Error('Server not healthy');
                }
                return await true;
            }
        }
    });

    await server.start();

    console.log('Server running at:', server.info.uri);
}

Calling the health route

The health route is exposed using GET method in a given path (/health by default).

When the server is healthy the response status code should be 200.

When the health check returns error the status code should be 400 and the payload should contain the error title.

Change Log

  • v2.0.0 (Nov. 30th, 2017) Upgrade to Hapi 17
    • Hapi.js 17 suite of tool upgraded to latest.
    • healthCheck API converted to async/await pattern. Callback is no longer accepted.
  • v1.2.0
  • v1.1.0
  • v1.0.0