示例#1
0
 internal async Task <List <T> > GetObjectsAsync <T>(
     IXmlParameters parameters,
     Action <PrtgResponse> responseValidator = null,
     Func <HttpResponseMessage, Task <PrtgResponse> > responseParser = null,
     bool validateValueTypes = true,
     CancellationToken token = default(CancellationToken)) =>
 (await GetObjectsRawAsync <T>(parameters, responseValidator, responseParser, validateValueTypes, token).ConfigureAwait(false)).Items;
示例#2
0
 internal async Task <XDocument> GetObjectsXmlAsync(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, Func <HttpResponseMessage, Task <PrtgResponse> > responseParser = null, CancellationToken token = default(CancellationToken))
 {
     return(await ParseInvalidXmlAsync(async() =>
     {
         using (var response = await requestEngine.ExecuteRequestAsync(parameters, responseValidator, responseParser, token).ConfigureAwait(false))
         {
             return XDocument.Load(response);
         }
     }).ConfigureAwait(false));
 }
示例#3
0
 internal XDocument GetObjectsXml(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, Func <HttpResponseMessage, PrtgResponse> responseParser = null, CancellationToken token = default(CancellationToken))
 {
     return(ParseInvalidXml(() =>
     {
         using (var response = requestEngine.ExecuteRequest(parameters, responseValidator, responseParser, token))
         {
             return XDocument.Load(response);
         }
     }));
 }
示例#4
0
 internal async Task <T> GetObjectAsync <T>(IXmlParameters parameters, CancellationToken token = default(CancellationToken))
 {
     return(await ParseInvalidXmlAsync(async() =>
     {
         using (var response = await requestEngine.ExecuteRequestAsync(parameters, token: token).ConfigureAwait(false))
         {
             return XmlEngine.DeserializeObject <T>(response);
         }
     }).ConfigureAwait(false));
 }
示例#5
0
        internal async Task <XDocument> ExecuteRequestAsync(IXmlParameters parameters, Action <string> responseValidator = null, Func <HttpResponseMessage, Task <string> > responseParser = null)
        {
            var url = GetPrtgUrl(parameters);

            var response = await ExecuteRequestAsync(url, responseParser).ConfigureAwait(false);

            responseValidator?.Invoke(response);

            return(XDocumentHelpers.SanitizeXml(response));
        }
示例#6
0
        internal XmlReader ExecuteRequest(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, Func <HttpResponseMessage, PrtgResponse> responseParser = null, CancellationToken token = default(CancellationToken))
        {
            var url = GetPrtgUrl(parameters);

            var response = ExecuteRequest(url, token, responseParser);

            responseValidator?.Invoke(response);

            return(response.ToXmlReader());
        }
示例#7
0
 internal T GetObject <T>(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null)
 {
     return(ParseInvalidXml(() =>
     {
         using (var response = requestEngine.ExecuteRequest(parameters, responseValidator))
         {
             return XmlEngine.DeserializeObject <T>(response);
         }
     }));
 }
示例#8
0
        internal XDocument ExecuteRequest(IXmlParameters parameters, Action <string> responseValidator = null, Func <HttpResponseMessage, string> responseParser = null)
        {
            var url = GetPrtgUrl(parameters);

            var response = ExecuteRequest(url, responseParser);

            responseValidator?.Invoke(response);

            return(XDocumentHelpers.SanitizeXml(response));
        }
示例#9
0
        internal async Task <XmlReader> ExecuteRequestAsync(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, Func <HttpResponseMessage, Task <PrtgResponse> > responseParser = null, CancellationToken token = default(CancellationToken))
        {
            var url = GetPrtgUrl(parameters);

            var response = await ExecuteRequestAsync(url, token, responseParser).ConfigureAwait(false);

            responseValidator?.Invoke(response);

            return(response.ToXmlReader());
        }
示例#10
0
        internal XmlReader ExecuteRequest(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, Func <HttpResponseMessage, PrtgResponse> responseParser = null, CancellationToken token = default(CancellationToken))
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters), "Parameters cannot be null.");
            }

            var request = GetRequestMessage(parameters);

            var response = ExecuteRequest(request, token, responseParser);

            responseValidator?.Invoke(response);

            return(response.ToXmlReader());
        }
示例#11
0
 internal async Task <TableData <T> > GetObjectsRawAsync <T>(
     IXmlParameters parameters,
     Action <PrtgResponse> responseValidator = null,
     Func <HttpResponseMessage, Task <PrtgResponse> > responseParser = null,
     bool validateValueTypes = true,
     CancellationToken token = default(CancellationToken))
 {
     return(await ParseInvalidXmlAsync(async() =>
     {
         using (var response = await requestEngine.ExecuteRequestAsync(parameters, responseValidator, responseParser, token: token).ConfigureAwait(false))
         {
             return SetVersion(XmlEngine.DeserializeTable <T>(response, validateValueTypes));
         }
     }).ConfigureAwait(false));
 }
示例#12
0
        internal async Task <XmlReader> ExecuteRequestAsync(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, Func <HttpResponseMessage, Task <PrtgResponse> > responseParser = null, CancellationToken token = default(CancellationToken))
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters), "Parameters cannot be null.");
            }

            var request = GetRequestMessage(parameters);

            var response = await ExecuteRequestAsync(request, token, responseParser).ConfigureAwait(false);

            responseValidator?.Invoke(response);

            return(response.ToXmlReader());
        }
示例#13
0
 internal TableData <T> GetObjectsRaw <T>(
     IXmlParameters parameters,
     Action <PrtgResponse> responseValidator = null,
     Func <HttpResponseMessage, PrtgResponse> responseParser = null,
     bool validateValueTypes = true,
     CancellationToken token = default(CancellationToken))
 {
     return(ParseInvalidXml(() =>
     {
         using (var response = requestEngine.ExecuteRequest(parameters, responseValidator, responseParser, token: token))
         {
             return SetVersion(XmlEngine.DeserializeTable <T>(response, validateValueTypes));
         }
     }));
 }
示例#14
0
        internal async Task <T> GetObjectAsync <T>(IXmlParameters parameters)
        {
            var response = await requestEngine.ExecuteRequestAsync(parameters).ConfigureAwait(false);

            return(XmlDeserializer <T> .DeserializeType(response));
        }
示例#15
0
        internal T GetObject <T>(IXmlParameters parameters, Action <string> responseValidator = null)
        {
            var response = requestEngine.ExecuteRequest(parameters, responseValidator);

            return(XmlDeserializer <T> .DeserializeType(response));
        }
示例#16
0
        internal async Task <XmlDeserializer <T> > GetObjectsRawAsync <T>(IXmlParameters parameters, Action <string> responseValidator = null, bool deserializeAll = true)
        {
            var response = await requestEngine.ExecuteRequestAsync(parameters, responseValidator).ConfigureAwait(false);

            return(SetVersion(XmlDeserializer <T> .DeserializeList(response, deserializeAll)));
        }
示例#17
0
 internal async Task <List <T> > GetObjectsAsync <T>(IXmlParameters parameters, Action <string> responseValidator = null, bool deserializeAll = true) =>
 (await GetObjectsRawAsync <T>(parameters, responseValidator, deserializeAll).ConfigureAwait(false)).Items;
示例#18
0
 internal List <T> GetObjects <T>(IXmlParameters parameters, Action <PrtgResponse> responseValidator = null, bool validateValueTypes = true, CancellationToken token = default(CancellationToken)) =>
 GetObjectsRaw <T>(parameters, responseValidator, null, validateValueTypes, token).Items;
示例#19
0
        internal async Task <T> GetObjectAsync <T>(IXmlParameters parameters, CancellationToken token = default(CancellationToken))
        {
            var response = await requestEngine.ExecuteRequestAsync(parameters, token : token).ConfigureAwait(false);

            return(XmlDeserializer <T> .DeserializeType(response));
        }
示例#20
0
 internal List <T> GetObjects <T>(IXmlParameters parameters, Action <string> responseValidator = null, bool deserializeAll = true, CancellationToken token = default(CancellationToken)) =>
 GetObjectsRaw <T>(parameters, responseValidator, deserializeAll, token).Items;
示例#21
0
 internal async Task <XDocument> GetObjectsXmlAsync(IXmlParameters parameters, Action <string> responseValidator = null, CancellationToken token = default(CancellationToken)) =>
 await requestEngine.ExecuteRequestAsync(parameters, responseValidator, token : token).ConfigureAwait(false);
示例#22
0
 internal XDocument GetObjectsXml(IXmlParameters parameters, Action <string> responseValidator = null, CancellationToken token = default(CancellationToken)) =>
 requestEngine.ExecuteRequest(parameters, responseValidator, token: token);
示例#23
0
 private PrtgRequestMessage GetRequestMessage(IXmlParameters parameters) =>
 new PrtgRequestMessage(prtgClient.ConnectionDetails, parameters.Function, parameters);
示例#24
0
 internal async Task <XDocument> GetObjectsXmlAsync(IXmlParameters parameters, Action <string> responseValidator = null) =>
 await requestEngine.ExecuteRequestAsync(parameters, responseValidator).ConfigureAwait(false);
示例#25
0
 private PrtgUrl GetPrtgUrl(IXmlParameters parameters) =>
 new PrtgUrl(prtgClient.ConnectionDetails, parameters.Function, parameters);
示例#26
0
 internal List <T> GetObjects <T>(IXmlParameters parameters, Action <string> responseValidator = null, bool deserializeAll = true) =>
 GetObjectsRaw <T>(parameters, responseValidator, deserializeAll).Items;
示例#27
0
 internal XDocument GetObjectsXml(IXmlParameters parameters, Action <string> responseValidator = null) =>
 requestEngine.ExecuteRequest(parameters, responseValidator);
示例#28
0
        internal XmlDeserializer <T> GetObjectsRaw <T>(IXmlParameters parameters, Action <string> responseValidator = null, bool deserializeAll = true)
        {
            var response = requestEngine.ExecuteRequest(parameters, responseValidator);

            return(SetVersion(XmlDeserializer <T> .DeserializeList(response, deserializeAll)));
        }