Make sysinfo based on provider

This commit is contained in:
Johannes Zellner
2016-01-05 12:10:25 +01:00
parent 9483c3afbc
commit 0319445888
3 changed files with 88 additions and 14 deletions

26
src/sysinfo/caas.js Normal file
View File

@@ -0,0 +1,26 @@
'use strict';
exports = module.exports = {
getIp: getIp
};
var assert = require('assert'),
os = require('os'),
SysInfoError = require('../sysinfo.js').SysInfoError;
function getIp(callback) {
assert.strictEqual(typeof callback, 'function');
var ifaces = os.networkInterfaces();
for (var dev in ifaces) {
if (dev.match(/^(en|eth|wlp).*/) === null) continue;
for (var i = 0; i < ifaces[dev].length; i++) {
if (ifaces[dev][i].family === 'IPv4') {
return callback(null, ifaces[dev][i].address);
}
}
}
callback(new SysInfoError(SysInfoError.INTERNAL_ERROR, 'No IP found'));
}

14
src/sysinfo/ec2.js Normal file
View File

@@ -0,0 +1,14 @@
'use strict';
exports = module.exports = {
getIp: getIp
};
var assert = require('assert'),
SysInfoError = require('../sysinfo.js').SysInfoError;
function getIp(callback) {
assert.strictEqual(typeof callback, 'function');
callback(new SysInfoError(SysInfoError.INTERNAL_ERROR, 'Not implemented'));
}