Fix connection errors handling, fixes #236.
This commit is contained in:
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user