-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
58 lines (46 loc) · 1.98 KB
/
server.js
File metadata and controls
58 lines (46 loc) · 1.98 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
var http = require('http');
var url = require('url');
var noodle = require('noodlejs');
http.createServer(function(req, res) {
var pathName = url.parse(req.url,true).pathname;
var query = url.parse(req.url,true).query;
var html = `
<html>
<head></head>
<body>
<h1> Following are the titles of given websites: </h1>
<ul>
{list}
</ul>
</body>
</html> `;
if(pathName === '/I/want/title/'){
var q2=[]
res.writeHead(200, { 'Content-Type': 'text/html' });
if(typeof query.address !== 'string') {
query.address.forEach(function(element) {
element = /^https?:\/\//.test(element) ? element : 'http://' + element;
q2.push({url:element,selector:'title',cache:false});
}, this);
} else{
var formated = /^https?:\/\//.test(query.address) ? query.address : 'http://' + query.address;
q2.push({url:formated,selector:'title',cache:false});
}
noodle.query(q2).then(function (data) {
var list='';
console.log(data);
if(data.results.length>1){
for (var index = 0; index < data.results.length; index++) {
var element = data.results[index];
list+= (element.results.length) ? `<li>${query.address[index]} - "${element.results[0]}"</li>` : `<li>${query.address[index]} - "NO RESPONSE"</li>`;
}
}else{
list+= (data.results[0].results.length) ? `<li>${query.address} - "${data.results[0].results[0]}"</li>` : `<li>${query.address} - "NO RESPONSE"</li>`;
}
res.end(html.replace("{list}", list))
});
} else{
res.writeHead(404);
res.end();
}
}).listen(1337, '127.0.0.1');