adding health API to cloudant provider
diff --git a/app.js b/app.js
index 466315a..76eeb12 100644
--- a/app.js
+++ b/app.js
@@ -10,6 +10,7 @@
var logger = require('./Logger');
var ProviderUtils = require('./lib/utils.js');
+var ProviderHealth = require('./lib/health.js');
var ProviderRAS = require('./lib/ras.js');
var ProviderUpdate = require('./lib/update.js');
var ProviderCreate = require('./lib/create.js');
@@ -83,8 +84,8 @@
// no need for a promise here, but leaving code inplace until we prove out the question of cookie usage
var promise = new Promise(function(resolve, reject) {
- nanop = require('nano')(dbProtocol + '://' + dbUsername + ':' + dbPassword + '@' + dbHost + ':' + dbPort);
- logger.info('url is ' + dbProtocol + '://' + dbUsername + ':' + dbPassword + '@' + dbHost + ':' + dbPort);
+ nanop = require('nano')(dbProtocol + '://' + dbUsername + ':' + dbPassword + '@' + dbHost);
+ logger.info('url is ' + dbProtocol + '://' + dbUsername + ':' + dbPassword + '@' + dbHost);
/*
nanop.auth(dbUsername, dbPassword, function (err, body, headers) {
if (err) {
@@ -121,6 +122,7 @@
var providerUtils = new ProviderUtils (tid, logger, app, retriesBeforeDelete, nanoDb, dbProvider, triggerFireLimit, routerHost);
var providerRAS = new ProviderRAS (tid, logger, providerUtils);
+ var providerHealth = new ProviderHealth (tid, logger, providerUtils);
var providerUpdate = new ProviderUpdate (tid, logger, providerUtils);
var providerCreate = new ProviderCreate (tid, logger, providerUtils);
var providerDelete = new ProviderDelete (tid, logger, providerUtils);
@@ -128,6 +130,9 @@
// RAS Endpoint
app.get(providerRAS.endPoint, providerRAS.ras);
+ // Health Endpoint
+ app.get(providerHealth.endPoint, providerHealth.health);
+
// Endpoint for Update OR Create a Trigger
app.put(providerUpdate.endPoint, providerUtils.authorize, providerUpdate.update);
diff --git a/lib/health.js b/lib/health.js
new file mode 100644
index 0000000..bec14ab
--- /dev/null
+++ b/lib/health.js
@@ -0,0 +1,11 @@
+module.exports = function(tid, logger, providerUtils) {
+
+ // Health Endpoint
+ this.endPoint = '/health';
+
+ // Health Logic
+ this.health = function (req, res) {
+ res.send({triggerCount: Object.keys(providerUtils.triggers).length});
+ };
+
+}
\ No newline at end of file