diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-05-16 16:22:38 -0700 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2015-05-16 16:22:38 -0700 |
commit | c9fd8de007540df6f0d2ae7ad07b1c9daa128b93 (patch) | |
tree | bb6256b7fe90d29a4d9599c29c508a0cbd5168e8 /controller | |
parent | a187d290f15ed2191e994852a6778bf4aa0f083b (diff) | |
download | infinitytier-c9fd8de007540df6f0d2ae7ad07b1c9daa128b93.tar.gz infinitytier-c9fd8de007540df6f0d2ae7ad07b1c9daa128b93.zip |
.
Diffstat (limited to 'controller')
-rw-r--r-- | controller/zt1-controller-client/index.js | 42 | ||||
-rw-r--r-- | controller/zt1-controller-client/test-controller.js | 9 |
2 files changed, 48 insertions, 3 deletions
diff --git a/controller/zt1-controller-client/index.js b/controller/zt1-controller-client/index.js index b1e07e81..b262ae8b 100644 --- a/controller/zt1-controller-client/index.js +++ b/controller/zt1-controller-client/index.js @@ -17,9 +17,47 @@ ZT1ControllerClient.prototype.status = function(callback) 'X-ZT1-Auth': this.authToken } },function(error,response,body) { - if ((error)||(response.statusCode !== 200)) + if (error) return callback(error,{}); - return callback(null,JSON.parse(body)); + if (response.statusCode !== 200) + return callback(new Error('server responded with '+response.statusCode),{}); + var controllerStatus = JSON.parse(body); + if (controllerStatus.controller === true) { + request({ + url: this.url + 'status', + method: 'GET', + headers: { + 'X-ZT1-Auth': this.authToken + } + },function(error,response,body) { + if (error) + return callback(error,{}); + if (response.statusCode !== 200) + return callback(new Error('server responded with '+response.statusCode),{}); + var nodeStatus = JSON.parse(body); + for(var k in controllerStatus) + nodeStatus[k] = controllerStatus[k]; + return callback(null,nodeStatus); + }.bind(this)); + } else return callback(new Error('No "controller==true" test value present.'),{}); + }.bind(this)); +}; + +ZT1ControllerClient.prototype.listNetworks = function(callback) +{ + request({ + url: this.url + 'controller/network', + method: 'GET', + headers: { + 'X-ZT1-Auth': this.authToken + } + },function(error,response,body) { + if (error) + return callback(error,{}); + if (response.statusCode !== 200) + return callback(new Error('server responded with '+response.statusCode),{}); + var r = JSON.parse(body); + return callback(null,Array.isArray(r) ? r : []); }); }; diff --git a/controller/zt1-controller-client/test-controller.js b/controller/zt1-controller-client/test-controller.js index d76bad8f..cddff031 100644 --- a/controller/zt1-controller-client/test-controller.js +++ b/controller/zt1-controller-client/test-controller.js @@ -3,5 +3,12 @@ var ZT1ControllerClient = require('./index.js').ZT1ControllerClient; var zt1c = new ZT1ControllerClient('http://127.0.0.1:9993/','5d6181b71fae2684f9cc64ed'); zt1c.status(function(err,status) { + if (err) + console.log(err); console.log(status); -});
\ No newline at end of file + zt1c.listNetworks(function(err,networks) { + if (err) + console.log(err); + console.log(networks); + }); +}); |