Response Time Plugin for HapiJS
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.editorconfig
.gitignore
LICENSE
README.md Hapi 17 compatible (async/await) Feb 1, 2018
index.js
package.json

README.md

hapi-response-time

hapi-response-time

Response Time Plugin for HapiJS

This plugin will add following headers to each request. And the time represented is in the UNIX/Epoch time.

The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970-01-01T00:00:00Z).

x-req-start →1484305451729
x-res-end →1484305451738
x-response-time →9
  • x-req-time: The time on which request is received on server
  • x-res-end: The time before sending the response
  • x-response-time: The difference between above two, i.e. the time taken by server to process the request before sending the response

To use this plugin:

  • Install
npm i -S hapi-response-time
  • and register it with the hapi's server instance:
await server.register(require('hapi-response-time'));

Example:

npm i -S hapi hapi-response-time
var Hapi = require('hapi');
var server = new Hapi.Server({
  port: process.env.PORT || 3000
});

await server.register(require('hapi-response-time'));

server.route([
  {
    method: 'GET',
    path: '/john',
    handler: function(req, h) {
      return h.response('Hello John!');
    }
  },{
    method: 'GET',
    path: '/timeout',
    handler: async function (request, h) {
      await (() => { return new Promise(resolve => setTimeout(resolve, 10000)); })();
      return h.response('Response after 10 seconds');
    }
  }
]);