-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
59 lines (47 loc) · 1.76 KB
/
server.js
File metadata and controls
59 lines (47 loc) · 1.76 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 restify = require('restify');
var http = require('http');
var fs = require('fs');
// redirect stdout / stderr
process.__defineGetter__('stdout', function() { return fs.createWriteStream('./access.log', {flags:'a'}) })
process.__defineGetter__('stderr', function() { return fs.createWriteStream('./error.log', {flags:'a'}) })
var server = restify.createServer();
server.use(restify.queryParser()); // to support hotel?location=...
server.use(restify.bodyParser());
// static serving
server.get(/\/js\/?.*/, restify.serveStatic({
directory: './js'
}));
// dynamic serving
server.get('/index/', api_getLanding);
server.post('/index/', data_post);
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
server.listen( port, ipaddress, function() {
console.log((new Date()) + ' Server is listening on at '+ ipaddress + ":" + port);
});
function api_getLanding(req, res, next) {
// simply return the landing page
html = fs.readFileSync('./diff.html');
res.writeHeader(200, {"Content-Type": "text/html"});
res.write(html);
res.end();
}
function data_post(req, res, next) {
// simply return the landing page
console.log("in data post");
console.log("urla: " + req.params.urla);
/* debug
res.writeHeader(200, {"Content-Type": "text/json"});
var response = { "response" : req.params.urla};
res.write(JSON.stringify(response));
*/
var spawn = require('child_process').spawn,
grep = spawn('./urlDiff.py', [req.params.urla, req.params.urlb]);
grep.stdout.on('data', function (data) {
console.log('ajax sent: ' + data);
res.writeHead(200, {"Content-Type": "text/plain"});
res.write(data);
res.end();
});
grep.stdin.end()
}