@splitsoftware/splitio
Version:
23 lines (22 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateRuntime = void 0;
var tslib_1 = require("tslib");
var os_1 = (0, tslib_1.__importDefault)(require("os"));
var ip_1 = require("../../utils/ip");
var constants_1 = require("@splitsoftware/splitio-commons/cjs/utils/constants");
function validateRuntime(settings) {
var isIPAddressesEnabled = settings.core.IPAddressesEnabled === true;
var isConsumerMode = settings.mode === constants_1.CONSUMER_MODE;
// If the values are not available, default to false (for standalone) or "unknown" (for consumer mode, to be used on Redis keys)
var ip = (0, ip_1.address)() || (isConsumerMode ? constants_1.UNKNOWN : false);
var hostname = os_1.default.hostname() || (isConsumerMode ? constants_1.UNKNOWN : false);
if (!isIPAddressesEnabled) { // If IPAddresses setting is not enabled, set as false (for standalone) or "NA" (for consumer mode, to be used on Redis keys)
ip = hostname = isConsumerMode ? constants_1.NA : false;
}
return {
ip: ip,
hostname: hostname
};
}
exports.validateRuntime = validateRuntime;