76 lines
1.5 KiB
JavaScript
76 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
/*eslint no-magic-numbers: ["error", { "ignore": [ 0] }]*/
|
|
|
|
/**
|
|
* @module entities
|
|
*/
|
|
|
|
const os = require('os');
|
|
|
|
/**
|
|
* @class Defaults
|
|
* @description Defaults Entity
|
|
*/
|
|
class Defaults{
|
|
|
|
/**
|
|
* @constructor
|
|
* @method constructor
|
|
* @return {void}
|
|
*/
|
|
constructor(){
|
|
|
|
this.appspace='app.';
|
|
this.socketRoot='/tmp/';
|
|
this.id=os.hostname();
|
|
|
|
this.encoding='utf8';
|
|
this.rawBuffer=false;
|
|
this.sync=false;
|
|
|
|
this.silent=false;
|
|
this.logDepth=5;
|
|
this.logInColor=true;
|
|
|
|
this.maxConnections=100;
|
|
this.retry=500;
|
|
this.maxRetries=Infinity;
|
|
this.stopRetrying=false;
|
|
|
|
this.IPType=getIPType();
|
|
this.tls=false;
|
|
this.networkHost = (this.IPType == 'IPv6') ? '::1' : '127.0.0.1';
|
|
this.networkPort = 8000;
|
|
|
|
this.interface={
|
|
localAddress:false,
|
|
localPort:false,
|
|
family:false,
|
|
hints:false,
|
|
lookup:false
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* method to get ip type
|
|
*
|
|
* @method getIPType
|
|
* @return {string} ip type
|
|
*/
|
|
function getIPType() {
|
|
const networkInterfaces = os.networkInterfaces();
|
|
let IPType = '';
|
|
if (networkInterfaces
|
|
&& Array.isArray(networkInterfaces)
|
|
&& networkInterfaces.length > 0) {
|
|
// getting the family of first network interface available
|
|
IPType = networkInterfaces [
|
|
Object.keys( networkInterfaces )[0]
|
|
][0].family;
|
|
}
|
|
return IPType;
|
|
}
|
|
|
|
module.exports=Defaults;
|