internal static string ValidateRawObjectProperty(XDocument response, GetObjectPropertyRawParameters parameters) { var value = response.Descendants("result").First().Value; if (value == "(Property not found)") { throw new PrtgRequestException($"PRTG was unable to complete the request. A value for property '{parameters.Name}' could not be found."); } return(value); }
internal static string ValidateRawObjectProperty(XDocument response, GetObjectPropertyRawParameters parameters) { var value = response.Descendants("result").First().Value; //Does not work when the server's language is not English. API XmlDocs document this fact. if (value == "(Property not found)") { throw new PrtgRequestException($"PRTG was unable to complete the request. A value for property '{parameters.Name}' could not be found."); } return(value); }
private string GetObjectPropertyRawInternal(GetObjectPropertyRawParameters parameters, string property) { var response = ObjectEngine.GetObjectsXml( parameters, responseParser: m => ResponseParser.ParseGetObjectPropertyResponse( m.Content.ReadAsStringAsync().Result, property ) ); return(ResponseParser.ValidateRawObjectProperty(response, parameters)); }
private async Task <string> GetObjectPropertyRawInternalAsync(GetObjectPropertyRawParameters parameters, string property, CancellationToken token) { var response = await ObjectEngine.GetObjectsXmlAsync( parameters, responseParser : async m => ResponseParser.ParseGetObjectPropertyResponse( await m.Content.ReadAsStringAsync().ConfigureAwait(false), property ), token : token ).ConfigureAwait(false); return(ResponseParser.ValidateRawObjectProperty(response, parameters)); }
private string GetObjectPropertyRawInternal(int objectId, string property, bool text) { var parameters = new GetObjectPropertyRawParameters(objectId, property, text); var response = RequestEngine.ExecuteRequest( parameters, responseParser: m => ResponseParser.ParseGetObjectPropertyResponse( m.Content.ReadAsStringAsync().Result, property ) ); return(ResponseParser.ValidateRawObjectProperty(response, parameters)); }
private async Task <string> GetObjectPropertyRawInternalAsync(int objectId, string property, bool text, CancellationToken token) { var parameters = new GetObjectPropertyRawParameters(objectId, property, text); var response = await RequestEngine.ExecuteRequestAsync( parameters, responseParser : async m => ResponseParser.ParseGetObjectPropertyResponse( await m.Content.ReadAsStringAsync().ConfigureAwait(false), property ), token : token ).ConfigureAwait(false); return(ResponseParser.ValidateRawObjectProperty(response, parameters)); }