diff --git a/src/datasource-zabbix/zabbixAPI.service.js b/src/datasource-zabbix/zabbixAPI.service.js index 523f8a1..8cc2d8e 100644 --- a/src/datasource-zabbix/zabbixAPI.service.js +++ b/src/datasource-zabbix/zabbixAPI.service.js @@ -41,12 +41,12 @@ function ZabbixAPIService($q, alertSrv, zabbixAPICoreService) { request(method, params) { var self = this; - return this.zabbixAPICore.request(this.url, method, params, this.requestOptions, this.auth) - .then(function(result) { + return this.zabbixAPICore + .request(this.url, method, params, this.requestOptions, this.auth) + .then((result) => { return result; - }, - // Handle API errors - function(error) { + }, (error) => { + // Handle API errors if (isNotAuthorized(error.data)) { return self.loginOnce().then( function() { @@ -56,15 +56,18 @@ function ZabbixAPIService($q, alertSrv, zabbixAPICoreService) { function(error) { self.alertAPIError(error.data); }); + } else { + this.alertSrv.set("Connection Error", error.data, 'error', 5000); } }); } - alertAPIError(message) { + alertAPIError(message, timeout = 5000) { this.alertSrv.set( "Zabbix API Error", message, - 'error' + 'error', + timeout ); } diff --git a/src/datasource-zabbix/zabbixAPICore.service.js b/src/datasource-zabbix/zabbixAPICore.service.js index a1623e6..2a7473c 100644 --- a/src/datasource-zabbix/zabbixAPICore.service.js +++ b/src/datasource-zabbix/zabbixAPICore.service.js @@ -51,19 +51,23 @@ class ZabbixAPICoreService { requestOptions.headers.Authorization = options.basicAuth; } - this.backendSrv.datasourceRequest(requestOptions).then(function (response) { - // General connection issues - if (!response.data) { - deferred.reject(response); - } + this.backendSrv.datasourceRequest(requestOptions) + .then((response) => { + // General connection issues + if (!response.data) { + deferred.reject(response); + } - // Handle Zabbix API errors - else if (response.data.error) { - deferred.reject(response.data.error); - } + // Handle Zabbix API errors + else if (response.data.error) { + deferred.reject(response.data.error); + } + + deferred.resolve(response.data.result); + }, (error) => { + deferred.reject(error.err); + }); - deferred.resolve(response.data.result); - }); return deferred.promise; }