fixes for trigger create and delete authorization checks (#95)
diff --git a/provider/app.js b/provider/app.js
index 2c7ac4b..4408b22 100644
--- a/provider/app.js
+++ b/provider/app.js
@@ -88,7 +88,6 @@
}
function createTriggerDb () {
- logger.info('createTriggerDb', 'database url is ' + dbProtocol + '://' + dbUsername + ':' + dbPassword + '@' + dbHost);
var nanop = require('nano')(dbProtocol + '://' + dbUsername + ':' + dbPassword + '@' + dbHost);
if (nanop !== null) {
return createDatabase (nanop);
diff --git a/provider/lib/constants.js b/provider/lib/constants.js
index 57e6d58..d8f11b8 100644
--- a/provider/lib/constants.js
+++ b/provider/lib/constants.js
@@ -1,6 +1,6 @@
const TRIGGER_DB_SUFFIX = 'cloudanttrigger';
const DEFAULT_MAX_TRIGGERS = -1;
-const RETRY_ATTEMPTS = 10;
+const RETRY_ATTEMPTS = 12;
const RETRY_DELAY = 1000; //in milliseconds
module.exports = {
diff --git a/provider/lib/delete.js b/provider/lib/delete.js
index 1f06da8..ca62359 100644
--- a/provider/lib/delete.js
+++ b/provider/lib/delete.js
@@ -42,10 +42,16 @@
});
}
else {
- var info = JSON.parse(body);
+ var info;
+ try {
+ info = JSON.parse(body);
+ }
+ catch (e) {
+ info = 'Authentication request failed with status code ' + response.statusCode;
+ }
res.status(response.statusCode).json({
message: errorMsg,
- error: info.error
+ error: typeof info === 'object' ? info.error : info
});
}
}
diff --git a/provider/lib/update.js b/provider/lib/update.js
index dd5ad4a..c07c0d4 100644
--- a/provider/lib/update.js
+++ b/provider/lib/update.js
@@ -37,10 +37,16 @@
});
}
else {
- var info = JSON.parse(body);
+ var info;
+ try {
+ info = JSON.parse(body);
+ }
+ catch (e) {
+ info = 'Authentication request failed with status code ' + response.statusCode;
+ }
res.status(response.statusCode).json({
message: errorMsg,
- error: info.error
+ error: typeof info === 'object' ? info.error : info
});
}
}