Exemple #1
0
        public Crawler(CrawlRequest request, ILogger log)
        {
            _id   = request.Id;
            _host = request.Host;

            var internalDomains = new List <string>
            {
                _host,
                _githubDomain
            };

            _processor = new CloudflareCgiProcesser()
                         .Next(new LegacyProcessor()
                               .Next(new ImageProcessor(new ClientWrapper(log))
                                     .Next(new ContentProcessor(new ClientWrapper(log))
                                           .Next(new KnownPageProcessor()
                                                 .Next(new EmailProcessor()
                                                       .Next(new ExternalPageProcessor(internalDomains)
                                                             .Next(new PodcastRoadmapProcessor(new ClientWrapper(log)))
                                                             .Next(new PageProcessor(_gistDomain, new ClientWrapper(log), null)
                                                                   .Next(new PageProcessor(_githubDomain, new ClientWrapper(log), null)
                                                                         .Next(new PageProcessor(_host, new ClientWrapper(log), new ContentLinksExtractor(_host))
                                                                               .Next(new UnknownProcessor()))))))))));
        }
 public IProcessUrl Next(IProcessUrl nextProcessor)
 {
     _next = nextProcessor;
     return(this);
 }