\r\n

51Degrees Pipeline Node.js  4.3

51Degrees Pipeline for Node.js

CloudRequestEngine Class Reference

Inheritance diagram for CloudRequestEngine:

[legend]

Collaboration diagram for CloudRequestEngine:

[legend]

Public Member Functions

 constructor ({ resourceKey, licenseKey, baseURL, cloudRequestOrigin, requestClient })
Constructor for CloudRequestEngine. More...
 ready ()
Function for testing if the cloud engine is ready Checks to see if properties and evidence keys have been fetched. More...
 processInternal (flowData)
Internal process for cloud engine Returns raw JSON as a "cloud" property in "cloud". More...
 getErrorsFromResponse (response)
Typically, cloud will return errors as JSON. More...
 fetchProperties ()
Internal process to fetch all the properties available under a resourcekey. More...
 propertiesTransform (properties)
 metaPropertyTransform (key, value)
 getData (flowData)
Internal function to get data from cloud service. More...
 getEvidenceKeys ()
Internal function to get evidenceKeys used by cloud resourcekey. More...
 getContent (flowData)
Generate the Content to send in the POST request. More...
 addQueryData (flowData, queryData, allEvidence, evidence)
Add query data to the evidence. More...
 getSelectedEvidence (evidence, type)
Get evidence with specified prefix. More...
 hasKeyPrefix (itemKey, prefix)
Check that the key of a KeyValuePair has the given prefix. More...

Public Member Functions inherited from Engine

 constructor ({ cache, restrictedProperties, dataFile }={})
Constructor for an Engine. More...
 inCache (flowData)
Checks cache and returns cached result if found. More...
 process (flowData)
An engine's process function checks cache for an item (calling inCache) If found it returns the cached object If not found it runs the standard processInternal function and adds it to the cache (if a cache is present) More...
 refresh ()
Callback which runs when an attached DataFile is updated Needs to be overriden by a specific engine to do anything. More...
 registerDataFile (dataFile)
Function to attach a DataFile to the engine and register it with a DataFileUpdateService if needed. More...

Public Member Functions inherited from FlowElement

 constructor ({ processInternal, dataKey, properties={}, evidenceKeyFilter }={})
Constructor for flowElement class. More...
 onRegistration (pipeline, flowElement)
Internal function to be called when a FlowElement is added to pipeline, runs through any registrationCallbacks on the FlowElement. More...
 ready ()
Function called to check if a FlowElement is ready Used when there are asynchronous initialisation steps. More...
 processInternal (flowData)
Internal process function for a particular flowElement called (via the flowElement.process() method) when flowData generated by a pipleline is processsed. More...
 process (flowData)
To allow actions to take place before and after a FlowElement's processInternal function runs, a process wrapper is run first. More...
 updateProperties ()
Call this function to update the properties meta database in all the pipelines this flowElement has been added to. More...
 getProperties ()
Get a flowElement's properties. More...

Member Function Documentation

◆ addQueryData()

CloudRequestEngine::addQueryData (   flowData,
  queryData,
  allEvidence,
  evidence  
)
inline

Add query data to the evidence.

Parameters
{object} - queryData The destination dictionary to add query data to.
{Evidence} - allEvidence All evidence in the flow data. This is used to report which evidence keys are conflicting.
{object} - evidence Evidence to add to the query Data.

◆ constructor()

CloudRequestEngine::constructor (   { resourceKey, licenseKey, baseURL, cloudRequestOrigin, requestClient } )
inline

Constructor for CloudRequestEngine.

Parameters
{object} - options options object
{string} - options.resourceKey resourcekey for cloud service
{string} - options.licenseKey licensekey for cloud service
{string} - options.baseURL url the cloud service is located at if overriding default
{string} - options.cloudRequestOrigin The value to set for the Origin header when making requests to the cloud service. This is used by the cloud service to check that the request is being made from a origin matching those allowed by the resource key. For more detail, see the 'Request Headers' section in the cloud documentation.

◆ fetchProperties()

CloudRequestEngine::fetchProperties ( )
inline

Internal process to fetch all the properties available under a resourcekey.

Returns
{Promise} properties from the cloud server

◆ getContent()

CloudRequestEngine::getContent (   flowData )
inline

Generate the Content to send in the POST request.

The evidence keys e.g. 'query.' and 'header.' have an order of precedence. These are added to the evidence in reverse order, if there is conflict then the queryData value is overwritten. 'query.' evidence should take precedence over all other evidence. If there are evidence keys other than 'query.' that conflict then this is unexpected so a warning will be logged.

Parameters
{FlowData} - flowData
Returns
{Evidence} Evidence Dictionary

◆ getData()

CloudRequestEngine::getData (   flowData )
inline

Internal function to get data from cloud service.

Parameters
{FlowData} - flowData FlowData used to extract evidence and send to cloud service for processing
Returns
{Promise} result of processing

◆ getErrorsFromResponse()

CloudRequestEngine::getErrorsFromResponse (   response )
inline

Typically, cloud will return errors as JSON.

However, transport level errors or other failures can result in responses that are plain text. This function handles these cases.

Parameters
{String} - response the response data to process
Returns
{Object} The error message data

◆ getEvidenceKeys()

CloudRequestEngine::getEvidenceKeys ( )
inline

Internal function to get evidenceKeys used by cloud resourcekey.

Returns
{Array} evidence key list

◆ getSelectedEvidence()

CloudRequestEngine::getSelectedEvidence (   evidence,
  type  
)
inline

Get evidence with specified prefix.

Parameters
{Evidence} - evidence All evidence in the flow data.
{stirng} - type Required evidence key prefix

◆ hasKeyPrefix()

CloudRequestEngine::hasKeyPrefix (   itemKey,
  prefix  
)
inline

Check that the key of a KeyValuePair has the given prefix.

Parameters
{string} - itemKey Key to check
{string} - prefix The prefix to check for.
Returns
True if the key has the prefix.

◆ processInternal()

CloudRequestEngine::processInternal (   flowData )
inline

Internal process for cloud engine Returns raw JSON as a "cloud" property in "cloud".

Parameters
{FlowData} - flowData flowData to process
Returns
{Promise} data from cloud service

◆ ready()

CloudRequestEngine::ready ( )
inline

Function for testing if the cloud engine is ready Checks to see if properties and evidence keys have been fetched.

Returns
{Promise} whether ready