2.0.1 • Published 10 months ago

micro-correlation-id v2.0.1

Weekly downloads
49
License
MIT
Repository
github
Last release
10 months ago

micro-correlation-id

Correlate http requests across microservices built with micro.

This a micro module for setting a correlation id per HTTP request. The correlation id associated with a request remains consistent across async calls made within the scope of the request handler.

This module is inspired by express-correlation-id and makes use of AsyncLocalStorage.

Installation

# npm
npm i -S micro-correlation-id

# or yarn
yarn add micro-correlation-id

Usage

const { correlator, getId } = require('micro-correlation-id');
const assert = require('assert');

module.exports = correlator()(async (req, res) => {
  // These values will always be the same within this scope
  assert.equal(req.correlationId(), getId());
  res.end();
});

API

correlator(idHeader='x-correlation-id')

This creates and/or sets the correlation id on each incomming request. If the incoming request has a correlation id then that id is preserved, a new uuid is assigned otherwise. The correlation id may be accessed using req.correlationId() or getId().

correlator takes and optional argument idHeader which defaults to x-correlation-id. This is HTTP header key used for passing a correlation id. You may change this to your liking.

getId()

Use this to get the current correlation id from any where within a request handler. It will always be equivalent to req.correlationId().

License

MIT

2.0.1

10 months ago

2.0.0

1 year ago

1.2.1

5 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago