示例#1
0
 public SitemapLoader(ISitemapFetcher fetcher       = null, ISitemapParser sitemapParser = null,
                      IRobotsTxtParser robotsParser = null)
 {
     _fetcher       = fetcher ?? new WebSitemapFetcher();
     _sitemapParser = sitemapParser ?? new SitemapParser();
     _robotsParser  = robotsParser ?? new RobotsTxtParser();
 }
        public static async Task <Sitemap> LoadAsync(this Sitemap sitemap, ISitemapFetcher fetcher = null, ISitemapParser parser = null)
        {
            if (sitemap == null)
            {
                throw new ArgumentNullException("sitemap");
            }

            //We are already loaded!
            if (sitemap.IsLoaded)
            {
                return(sitemap);
            }

            if (sitemap.SitemapLocation == null)
            {
                throw new InvalidOperationException("Sitemap location not specified");
            }

            var loader = new SitemapLoader(fetcher, parser);

            return(await loader.LoadAsync(sitemap));
        }
示例#3
0
 public RobotsSitemapLoader(ISitemapFetcher fetcher = null, ISitemapParser sitemapParser = null, IRobotsTxtParser robotsParser = null)
 {
     _adapteeObject = new SitemapLoader(fetcher, sitemapParser, robotsParser);
 }