51Degrees Pipeline Node.js  4.4

51Degrees Pipeline for Node.js


51Degrees Node Pipeline

Developer Documentation


This repository contains the components of the Node.JS implementation of the 51Degrees Pipeline API.

The Pipeline is a generic web request intelligence and data processing solution with the ability to add a range of 51Degrees and/or custom plug ins (Engines)


This repository contains 4 modules:

  • fiftyone.pipeline.core - Defines the essential components of the Pipeline API such as 'flow elements', 'flow data' and 'evidence'
  • fiftyone.pipeline.engines - Functionality for a specialized type of flow element called an engine.
  • fiftyone.pipeline.engines.fiftyone - Functionality specific to 51Degrees engines.
  • fiftyone.pipeline.cloudrequestengine - An engine used to make requests to the 51Degrees cloud service.


The modules in this repository are available on the node package manager:

npm install fiftyone.pipeline.core
npm install fiftyone.pipeline.engines
npm install fiftyone.pipeline.engines.fiftyone
npm install fiftyone.pipeline.cloudrequestengine

They can also be installed from this repository by running:

npm install <path to module>


Most modules include some automated tests. To run these, make sure jest is installed:

npm install jest --global

Then, navigate to the module directory and execute:

npm test


There are several examples available:

  • fiftyone.pipeline.core/examples/customFlowElements/1-simpleEvidenceFlowElement.js - Demonstrates how to create a custom flow element that takes some evidence (birthdate) and returns something related to that evidence (star sign)
  • fiftyone.pipeline.core/examples/customFlowelements/3-clientSideEvidenceFlowElement.js - Demonstrates how to modify the flow element from the 'simple evidence' example to gather evidence from code running on the client device (i.e. JavaScript).
  • fiftyone.pipeline.engines/examples/onPremiseFlowElement.js - Demonstrates the creation of an engine that uses an auto-updating datafile to populate properties
  • fiftyone.pipeline.engines/examples/caching.js - Demonstrates a custom cache that makes use of the result caching feature that engines provide.