summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-16 16:22:38 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-16 16:22:38 -0700
commitc9fd8de007540df6f0d2ae7ad07b1c9daa128b93 (patch)
treebb6256b7fe90d29a4d9599c29c508a0cbd5168e8 /controller
parenta187d290f15ed2191e994852a6778bf4aa0f083b (diff)
downloadinfinitytier-c9fd8de007540df6f0d2ae7ad07b1c9daa128b93.tar.gz
infinitytier-c9fd8de007540df6f0d2ae7ad07b1c9daa128b93.zip
.
Diffstat (limited to 'controller')
-rw-r--r--controller/zt1-controller-client/index.js42
-rw-r--r--controller/zt1-controller-client/test-controller.js9
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);
+ });
+});