@first-lego-league/ms-correlation

A library to help support MS with domains

Stats

StarsIssuesVersionUpdatedCreatedSize
@first-lego-league/ms-correlation
1.0.32 years ago3 years agoMinified + gzip package size for @first-lego-league/ms-correlation in KB

Readme

npm David Dependency Status David Dev Dependency Status David Peer Dependencies Status Build status GitHub

FIRST LEGO Legaue Correlation

A library for supporting FIRST LEGO League TMS Module Standard correlation section.

Usage

There are two options to use this library: with middleware or with domain.

Usage with middleware

When having frameworks like express that support middlewares. You can use the middleware correlationMiddleware this middleware will also take care of authentication.

Usage with domain

When not using the middleware you should open a new domain in your code, and use the function correlateSession. For example:

const Domain = require('domain')

const { correlateSession } = require('@first-lego-league/ms-correlation')

someEventEmitter.on('someEvent', event => {
  const correlationId = getCorrelationId(event)
  const authToken = getAuthToken(event)

  Domain.create().run(() => {
    correlateSession(correlationId, authToken)

    handleEvent(event)
  })
})

Be aware that both argument of this function are optionals.

Retrieving correlation data

You can use the function getCorrelationId and getAuthenticationData to retrive data on the current session.

Contribution

To contribute to this repository, simply create a PR and set one of the Code Owners to be a reviewer. Please notice the linting and UT, because they block merge. Keep the package lightweight and easy to use. Thank you for contributing!

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.