示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#5
0
        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));
        }
示例#6
0
        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));
        }