public static SiteNode GetFilledSiteNode(string rootUri, IHttpResponseProvider httpResponseProvider)
        {
            var rootNode = new SiteNode(rootUri);

            if (UriHelper.IsMediaFile(rootUri))
            {
                try
                {
                    rootNode.Media = httpResponseProvider.RequestLinkBytes(rootUri);
                    _performanceHelper.Increment(Counters.SuccessfullHttpRequests);
                }
                catch
                {
                    rootNode.Media = new byte[0];
                    _performanceHelper.Increment(Counters.FailedHttpRequests);
                }
            }
            else
            {
                try
                {
                    rootNode.Html = httpResponseProvider.RequestHttpLayout(rootUri);
                    _performanceHelper.Increment(Counters.SuccessfullHttpRequests);
                }
                catch
                {
                    rootNode.Html = string.Empty;
                    _performanceHelper.Increment(Counters.FailedHttpRequests);
                }
            }

            NLogger.Logger.Info($"{rootUri} has been handled.");

            return(rootNode);
        }
        public static SiteNode GetFilledSiteNode(string rootUri, IHttpResponseProvider httpResponseProvider)
        {
            var rootNode = new SiteNode(rootUri);

            if (UriHelper.IsMediaFile(rootUri))
            {
                try
                {
                    rootNode.Media = httpResponseProvider.RequestLinkBytes(rootUri);
                }
                catch
                {
                    rootNode.Media = new byte[0];
                }
            }
            else
            {
                try
                {
                    rootNode.Html = httpResponseProvider.RequestHttpLayout(rootUri);
                }
                catch
                {
                    rootNode.Html = string.Empty;
                }
            }

            return(rootNode);
        }