From 986dce8168d20fa755a8e80c6df141c2d0cbbf90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Despr=C3=A9s=20Laberge?= Date: Mon, 4 Nov 2019 09:53:36 -0500 Subject: [PATCH] Added GetResponseObjectAsyncNoAuth Added GetResponseObjectAsyncNoAuth to use with some calls that require no auth parameter such as apiinfo.version --- Zabbix.API.Core/Models/Request.cs | 8 ++++++++ Zabbix.API.Core/Zabbix.cs | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Zabbix.API.Core/Models/Request.cs b/Zabbix.API.Core/Models/Request.cs index f59e05b..6cab56a 100644 --- a/Zabbix.API.Core/Models/Request.cs +++ b/Zabbix.API.Core/Models/Request.cs @@ -16,5 +16,13 @@ public Request(string jsonrpc, string method, int id, string auth, dynamic @para this.auth = auth; this.@params = @params; } + + public Request(string jsonrpc, string method, int id, dynamic @params) + { + this.jsonrpc = jsonrpc; + this.method = method; + this.id = id; + this.@params = @params; + } } } \ No newline at end of file diff --git a/Zabbix.API.Core/Zabbix.cs b/Zabbix.API.Core/Zabbix.cs index 78e23f7..6c98f38 100644 --- a/Zabbix.API.Core/Zabbix.cs +++ b/Zabbix.API.Core/Zabbix.cs @@ -56,6 +56,16 @@ public async Task GetResponseJsonAsync(string method, object parameters) return jsonResponse; } + public async Task GetResponseJsonAsyncNoAuth(string method, object parameters) + { + Request request = new Request("2.0", method, 1, parameters); + + string jsonParams = JsonConvert.SerializeObject(request); + string jsonResponse = await SendRequestAsync(jsonParams); + + return jsonResponse; + } + public async Task GetDeleteResponseJSonAsync(string method, List parameters) { DeleteRequest request = new DeleteRequest("2.0", method, 1, auth, parameters); @@ -74,6 +84,14 @@ public async Task GetResponseObjectAsync(string method, object paramet return objectResponse; } + public async Task GetResponseObjectAsyncNoAuth(string method, object parameters) + { + string jsonResponse = await GetResponseJsonAsyncNoAuth(method, parameters); + var objectResponse = ConvertJsonToResponse(jsonResponse); + + return objectResponse; + } + private Response ConvertJsonToResponse(string json) { Response response = JsonConvert.DeserializeObject(json);