spidermedic
Version:
A CLI tool for validating pages while crawling a website.
30 lines (28 loc) • 1.14 kB
JavaScript
var figures = require('figures');
var SimpleCrawler = require('simplecrawler');
var Clog = require('./clog');
module.exports = function (url, path, port, interval) {
var hasFailed = false;
var clog = new Clog();
clog.info('Validating %s', url);
var crawler = SimpleCrawler.crawl(url);
crawler.path = path;
crawler.port = port;
crawler.interval = interval;
return crawler
.on('fetchcomplete', function (queueItem, responseBuffer, response) {
clog.success('%s %s (%d bytes) %s', figures.tick, response.statusCode, responseBuffer.length, queueItem.url);
})
.on('fetch404', function (queueItem, response) {
hasFailed = true;
clog.error('%s %s %s', figures.cross, response.statusCode, queueItem.url);
})
.on('fetcherror', function (queueItem, response) {
hasFailed = true;
clog.error('%s %s %s', figures.cross, response.statusCode, queueItem.url);
})
.on('complete', function () {
clog.info('All queued items have been processed');
process.exit(hasFailed);
});
};