Source
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
var RPC = {
'_rpcurl': 'jsrpc.php?output=json-rpc', // rpc url
'_callid': 0, // rpc request id
callid: function() {
this._callid++;
return this._callid;
},
rpcurl: function(rpcurl_) {
if ('undefined' == typeof(rpcurl_)) {
return this._rpcurl;
}
else {
this._rpcurl = rpcurl_;
}
}
};
RPC.Base = function(userParams) {
this.userParams = {
'method': null,
'params': {},
'notification': 0,
'request': {},
'onSuccess': function() {},
'onFailure': function() {}
};
var params = this.userParams;
if (userParams && typeof userParams === 'object') {
Object.keys(userParams).forEach(function (key) {
params[key] = userParams[key];
});
}
this.callid = RPC.callid();
};
RPC.Call = function (userParams) {
RPC.Base.call(this, userParams);
this.call();
};
RPC.Call.prototype = {
call: function() {
var header = {
'Content-type': 'application/json-rpc'