\r\n

51Degrees Device Detection Node.js  4.4

51Degrees Device Detection for Node.js

DeviceDetectionOnPremisePipelineBuilder Class Reference

Detailed Description

Examples
onpremise/automaticupdates/dataFileSystemWatcher.js, onpremise/automaticupdates/updateOnStartUp.js, onpremise/automaticupdates/updatePollingInterval.js, onpremise/gettingstarted-console/gettingStarted.js, onpremise/matchmetrics-console/matchMetrics.js, onpremise/metadata-console/metaData.js, onpremise/offlineprocessing-console/offlineProcessing.js, onpremise/performance-console/performance.js, onpremise/updatedatafile-console/updatedatafile.js, and onpremise/useragentclienthints-web/userAgentClientHintsWeb.js.

Inheritance diagram for DeviceDetectionOnPremisePipelineBuilder:

[legend]

Collaboration diagram for DeviceDetectionOnPremisePipelineBuilder:

[legend]

Public Member Functions

 constructor ({ dataFileUpdateService=null, licenceKeys=null, dataFile=null, dataUpdateVerifyMd5=true, dataUpdateUseUrlFormatter=true, autoUpdate=true, dataUpdateUrl=null, pollingInterval=30, updateTimeMaximumRandomisation=10, shareUsage=true, fileSystemWatcher=true, updateOnStart=false, cacheSize=null, restrictedProperties, performanceProfile='LowMemory', concurrency=os.cpus().length, updateMatchedUserAgent=false, maxMatchedUserAgentLength, drift, difference, allowUnmatched=false, createTempDataCopy, tempDataDir })
Extension of pipelineBuilder class that allows for the quick generation of a device detection pipeline. More...

Member Function Documentation

◆ constructor()

DeviceDetectionOnPremisePipelineBuilder::constructor (   { dataFileUpdateService=null, licenceKeys=null, dataFile=null, dataUpdateVerifyMd5=true, dataUpdateUseUrlFormatter=true, autoUpdate=true, dataUpdateUrl=null, pollingInterval=30, updateTimeMaximumRandomisation=10, shareUsage=true, fileSystemWatcher=true, updateOnStart=false, cacheSize=null, restrictedProperties, performanceProfile='LowMemory', concurrency=os.cpus().length, updateMatchedUserAgent=false, maxMatchedUserAgentLength, drift, difference, allowUnmatched=false, createTempDataCopy, tempDataDir } )
inline

Extension of pipelineBuilder class that allows for the quick generation of a device detection pipeline.

Adds share usage, caching and toggles between on premise and cloud with simple paramater changes

Parameters
{object} - options the options for the pipeline builder
{string} - options.licenceKeys license key(s) used by the data file update service. A key can be obtained from the 51Degrees website: https://51degrees.com/pricing. This parameter MUST be set when using a data file. If you do not wish to use a key then you can specify an empty string, but this will cause automatic updates to be disabled.
{string} - options.dataFile dataFile path for the on premise engine
{boolean} - options.dataUpdateVerifyMd5 whether to check MD5 of datafile
{boolean} - options.dataUpdateUseUrlFormatter whether to append default URL params for Data File download
{boolean} - options.autoUpdate whether to autoUpdate the dataFile
{string} - options.dataUpdateUrl base url for the datafile
{number} - options.pollingInterval How often to poll for updates to the datafile (minutes)
{number} - options.updateTimeMaximumRandomisation Maximum randomisation offset in seconds to polling time interval
{boolean} - options.shareUsage whether to include the share usage element
{boolean} - options.fileSystemWatcher whether to monitor the datafile path for changes
{boolean} - options.updateOnStart whether to download / update a dataFile to the path specified in options.dataFile on start
{number} - options.cacheSize size of the default cache (includes cache if set). NOTE: This is not supported for on-premise engine.
{Array} - options.restrictedProperties list of properties the engine will be restricted to
{string} - options.performanceProfile used to control the tradeoff between performance and system memory usage (Only applies to on-premise, not cloud) options are: LowMemory, MaxPerformance, Balanced, BalancedTemp, HighPerformance
{number} - options.concurrency defaults to the number of cpus in the machine
{boolean} - options.updateMatchedUserAgent True if the detection should record the matched characters from the target User-Agent
{number} - options.maxMatchedUserAgentLength Number of characters to consider in the matched User-Agent. Ignored if updateMatchedUserAgent is false
{number} - options.drift Set maximum drift in hash position to allow when processing HTTP headers.
{number} - options.difference Set the maximum difference to allow when processing HTTP headers. The difference is the difference in hash value between the hash that was found, and the hash that is being searched for. By default this is 0.
{string} - options.allowUnmatched If set to false, a non-matching User-Agent will result in properties without set values. If set to true, a non-matching User-Agent will cause the 'default profiles' to be returned. This means that properties will always have values (i.e. no need to check .HasValue) but some may be inaccurate. By default, this is false.
{boolean} - options.createTempDataCopy If true, the engine will create a copy of the data file in a temporary location rather than using the file provided directly. If not loading all data into memory, this is required for automatic data updates to occur.
{string} - options.tempDataDir The directory to use for the temporary data copy if 'createTempDataCopy' is set to true.
{boolean} - options.usePredictiveGraph [deprecated] True, the engine will use the predictive optimized graph to in detections.
{boolean} - options.usePerformanceGraph [deprecated] True, the engine will use the performance optimized graph to in detections.
options.dataFileUpdateService -