Tattle Plugin for Hapi
A Hapi plugin that reports certain requests to a central HTTP service. Works with Hapi version 8 or later.
npm install --save hapi-tattle
Register the plugin and each request for which filterFunc
returns true will result in a call to url
containing information about the request. The call occurs as a onPreResponse
extension and doesn't interrupt the response. It also registers a "tail" event that resolves after the external service responds.
var Hapi = ; var server = ;server; server; server server
With the above, information about calls to /tracked
will be posted to https://my.app.com/transactions
, and those to /untracked
will not be.
Plugin Options
The following options are available when registering the plugin:
- 'url' (required) - the URL to call for authentication.
- 'auth' - authentication object that will be included with the request to the external service. Can be an object including
username
andpassword
ornull
to not authenticate the request. Defaults tonull
. - 'filterFunc' - function that will be passed the request object and, if it returns
true
, the request will be reported. Otherwise the report will be skipped. Defaults to a function that always returnstrue
. - 'objectName' - the name of the object that will be sent to the external service. Defaults to "transaction".
- 'otherData' - static object to be merged with the transaction object being sent. Defaults to
null
.