private async Task <string> SendRequestAsync(ZabbixRequest request) { var body = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var uri = new Uri(ZabbixSettings.Url); var response = await _httpClient.PostAsync(uri, body); var content = await response.Content.ReadAsStringAsync(); return(content); }
public async Task <ZabbixResponse> GetZabbixResponseAsync(string method, dynamic parameters) { if (method == "user.login") { ZabbixSettings.Token = string.Empty; } ZabbixRequest request = new ZabbixRequest(ZabbixSettings.Version, method, parameters, 1, ZabbixSettings.Token); string jsonResponse = await SendRequestAsync(request); var response = JsonConvert.DeserializeObject <ZabbixResponse>(jsonResponse); return(response); }
public async Task <bool> SetZabbixAddress(string address) { ZabbixRequest request = new ZabbixRequest(ZabbixSettings.Version, "apiinfo.version", null, 1, null); var body = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync(address, body); var content = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <ZabbixResponse>(content); if (result.error == null) { ZabbixSettings.Token = string.Empty; ZabbixSettings.Url = address; return(true); } else { return(false); } }