node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »


Continuation Local Storage for Hapi Build Status

Heavily "inspired" on


This Hapi plugin installs CLS and binds it to the request


npm install @smp-relate/hapi-cls


const server = new hapi.Server();
server.connection({port: config.port});
server.register(require('@smp-relate/hapi-cls'), {namespace: 'my-namespace'})

NOTE: Registration should be done in the "highest" point possible to ensure other plugins are also working in the CLS context.

Value setting

There's a hook enabling setting custom values in the request context right after it's initialized. Requires value resolution function that receives request object as an argument. Example:

const server = new hapi.Server();
server.connection({port: config.port});
server.register(require('@smp-relate/hapi-cls'), {namespace: 'my-namespace', set: {
    customValue: (request) => request.headers['x-custom-header']