-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroutes.js
More file actions
39 lines (31 loc) · 943 Bytes
/
routes.js
File metadata and controls
39 lines (31 loc) · 943 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*****************************************
SITEMAPPER
Max Lapides 2014
Route HTTP requests
*****************************************/
var mongoose = require('mongoose'),
Scraper = require('./crawler/scraper.js'),
organize = require('./crawler/organize.js'),
fetch = require('./crawler/fetchTree.js');
exports.index = function(req, res) {
res.render('index', { title: 'Sitemapper by Max Lapides' });
};
exports.crawl = function(req, res) {
// get URL to crawl
var url = req.param('url');
console.log('Request to crawl ' + url);
// connect to MongoDB
mongoose.connect('mongodb://localhost/sitemapper');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'mongo connection error:'));
// The Thesis
var myScraper = new Scraper();
myScraper.init(url)
.then(organize)
.then(fetch)
.then(function(tree) {
//console.log(JSON.stringify(tree));
res.json(tree);
mongoose.disconnect();
});
};