waypost-sdk-js-server
v1.0.1
Published
1. Install via `npm install waypost-sdk-js-server` (https://www.npmjs.com/package/waypost-sdk-js-server) 2. Set up a middleware before your routes that imports the `waypost-sdk-js-server` package, and configures the SDK client (follow the following steps)
Downloads
2
Readme
Waypost's Server-Side SDK for Javascript
Setup
- Install via
npm install waypost-sdk-js-server
(https://www.npmjs.com/package/waypost-sdk-js-server) - Set up a middleware before your routes that imports the
waypost-sdk-js-server
package, and configures the SDK client (follow the following steps): - In the
Config
constructor, the first argument is your SDK key (get this from the Waypost feature flag manager interface). The second argument is the address of Waypost's flag provider service. Chain theconnect()
method immediately, which sets up the connection to the Waypost flag provider service, and returns the SDK Client containing the feature flag data. Note that theconnect()
method is async, so you will need toawait
it. - To add the user_id or any other identifier (such as session_id) to the SDK, which will assign the treatment, use the
addContext()
method on thesdkClient
, passing in an object containing the keyuserId
and the value. Example:
sdkClient.addContext({ userId: userId });
- Assign the resulting
sdkClient
object toreq.sdkClient
. This will ensure that all request handlers will have access to thesdkClient
which will evaluate feature flags for you.
Example:
app.use(async (req, res, next) => {
const Config = require("waypost-sdk-js-server");
const sdkClient = await new Config('1a2b3d4e', "http://localhost:5050").connect();
req.sdkClient = sdkClient;
next();
});
Usage
Wherever you need to branch your code based on the feature flag status, call the evaluateFlag()
method on req.sdkClient
.
Example:
const useNewPaymentFlag = sdkClient.evaluateFlag("New Payment Feature");
if (useNewPaymentFlag) {
newPaymentProcessor();
} else {
oldPaymentProcessor();
}