summaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-15 09:41:45 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-15 09:41:45 -0700
commit6d2376eb9cc7a3b0e909e0abb87bea5e7f42b717 (patch)
treeb3f66ea31f7b9ab91fc30e121e12815d7b3dc024 /controller
parentf693d4d0c8a06970bcd096df73471b4f32a544d8 (diff)
downloadinfinitytier-6d2376eb9cc7a3b0e909e0abb87bea5e7f42b717.tar.gz
infinitytier-6d2376eb9cc7a3b0e909e0abb87bea5e7f42b717.zip
Controller API status message.
Diffstat (limited to 'controller')
-rw-r--r--controller/SqliteNetworkController.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/controller/SqliteNetworkController.cpp b/controller/SqliteNetworkController.cpp
index 71978830..d6f768a0 100644
--- a/controller/SqliteNetworkController.cpp
+++ b/controller/SqliteNetworkController.cpp
@@ -61,6 +61,9 @@
#define ZT_NETCONF_SQLITE_SCHEMA_VERSION 1
#define ZT_NETCONF_SQLITE_SCHEMA_VERSION_STR "1"
+// API version reported via JSON control plane
+#define ZT_NETCONF_CONTROLLER_API_VERSION 1
+
// Maximum age in ms for a cached netconf before we regenerate anyway (one hour)
#define ZT_CACHED_NETCONF_MAX_AGE (60 * 60 * 1000)
@@ -619,8 +622,8 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpGET(
if (sqlite3_step(_sGetMember2) == SQLITE_ROW) {
Utils::snprintf(json,sizeof(json),
"{\n"
- "\taddress: \"%s\""
- "\tauthorized: %s,"
+ "\taddress: \"%s\"\n"
+ "\tauthorized: %s,\n"
"\tactiveBridge: %s,\n"
"\tlastAt: \"%s\",\n"
"\tlastSeen: %llu,\n"
@@ -820,7 +823,13 @@ unsigned int SqliteNetworkController::handleControlPlaneHttpGET(
return 200;
} // else 404
- } // else 404
+ } else {
+ // GET /controller returns status and API version if controller is supported
+ Utils::snprintf(json,sizeof(json),"{\n\tcontroller: true,\n\tapiVersion: %d\n\tclock: %llu\n}",ZT_NETCONF_CONTROLLER_API_VERSION,(unsigned long long)OSUtils::now());
+ responseBody = json;
+ responseContentType = "applicaiton/json";
+ return 200;
+ }
return 404;
}