/// <summary>
        /// Helper method to return an Xml document from the completed request.
        /// </summary>
        /// <param name="requestBaseUrl">The request base URL.</param>
        /// <param name="stream">The stream.</param>
        /// <param name="response">The response from the server.</param>
        private static DownloadResult <IXPathNavigable> GetXmlDocument(Uri requestBaseUrl, Stream stream,
                                                                       HttpResponseMessage response)
        {
            XmlDocument xmlDoc = new XmlDocument();
            HttpWebClientServiceException error = null;
            int      responseCode = (int)response.StatusCode;
            DateTime serverTime   = response.Headers.ServerTimeUTC();

            if (stream == null)
            {
                error = HttpWebClientServiceException.Exception(requestBaseUrl, new ArgumentNullException(nameof(stream)));
                return(new DownloadResult <IXPathNavigable>(xmlDoc, error, responseCode, serverTime));
            }

            try
            {
                xmlDoc.Load(Util.ZlibUncompress(stream));
            }
            catch (XmlException ex)
            {
                error = HttpWebClientServiceException.XmlException(requestBaseUrl, ex);
            }

            return(new DownloadResult <IXPathNavigable>(xmlDoc, error, responseCode, serverTime));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Helper method to return an Xml document from the completed request.
        /// </summary>
        /// <param name="requestBaseUrl">The request base URL.</param>
        /// <param name="stream">The stream.</param>
        /// <returns></returns>
        private static DownloadResult <IXPathNavigable> GetXmlDocument(Uri requestBaseUrl, Stream stream)
        {
            XmlDocument xmlDoc = new XmlDocument();
            HttpWebClientServiceException error = null;

            if (stream == null)
            {
                error = HttpWebClientServiceException.Exception(requestBaseUrl, new ArgumentNullException(nameof(stream)));
                return(new DownloadResult <IXPathNavigable>(xmlDoc, error));
            }

            try
            {
                xmlDoc.Load(Util.ZlibUncompress(stream));
            }
            catch (XmlException ex)
            {
                error = HttpWebClientServiceException.XmlException(requestBaseUrl, ex);
            }

            return(new DownloadResult <IXPathNavigable>(xmlDoc, error));
        }