diff --git a/src/sysinfo.js b/src/sysinfo.js index 6674bbc32..fd4bdeb4b 100644 --- a/src/sysinfo.js +++ b/src/sysinfo.js @@ -18,6 +18,7 @@ function api(provider) { assert.strictEqual(typeof provider, 'string'); switch (provider) { + case 'noop': return require('./sysinfo/noop.js'); case 'fixed': return require('./sysinfo/fixed.js'); case 'network-interface': return require('./sysinfo/network-interface.js'); default: return require('./sysinfo/generic.js'); @@ -33,10 +34,8 @@ async function getServerIPv4() { // returns RFC 5952 formatted address (https://datatracker.ietf.org/doc/html/rfc5952) async function getServerIPv6() { const config = await settings.getIPv6Config(); - - if (config.provider === 'noop') return null; - const result = await api(config.provider).getServerIPv6(config); + if (!result) return null; return ipaddr.parse(result).toRFC5952String(); } diff --git a/src/sysinfo/noop.js b/src/sysinfo/noop.js new file mode 100644 index 000000000..ff7937b50 --- /dev/null +++ b/src/sysinfo/noop.js @@ -0,0 +1,34 @@ +'use strict'; + +exports = module.exports = { + getServerIPv4, + getServerIPv6, + testIPv4Config, + testIPv6Config +}; + +const assert = require('assert'); + +async function getServerIPv4(config) { + assert.strictEqual(typeof config, 'object'); + + return null; +} + +async function getServerIPv6(config) { + assert.strictEqual(typeof config, 'object'); + + return null; +} + +async function testIPv4Config(config) { + assert.strictEqual(typeof config, 'object'); + + return null; +} + +async function testIPv6Config(config) { + assert.strictEqual(typeof config, 'object'); + + return null; +}