unleash-express

v1.0.1
express helper for unleash

unleash-express

Build Status

unleash-client that helps persisting feature toggle results over Express.js

Prerequisite

You will need express and cookie-parser:

const express = require('express');
const app = express();
app.use(cookieParser());

Configuration

const { initialize } = require('unleash-client');
const unleash = initialize(...);
const { UnleashExpress } = require('unleash-express');
const unleashExpress = new UnleashExpress(unleash, options);

Available options:

  • cookieName (string): The name of the cookie to persist the result values of each feature toggle. Defaults to 'unleash'
  • cookieOptions (object): Additionl options for the cookie like expires or maxAge. No default.

Usage

1. Use the middleware

app.use(cookieParser());
app.use(unleashExpress.middleware()); // This will allow reading/setting the cookies

2. Flip the coin

Ask unleash-client for the value of a feature as usual by using getVariant.

// In your feature.controller.js
req.unleash.getVariant('feature', ...);

You can also check alternatives or features that are enabled by using isEnabled.

// In your controller
req.unleash.isEnabled('alternative');

3. Reuse the result along the pipeline

Peek the persisted results:

req.unleash.results['feature']; // Variant object or null

Acknowledgment

Inspired by fflip-express

npm i unleash-express

Metadata

Downloads

Maintainers