-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhandler.js
71 lines (51 loc) · 1.78 KB
/
handler.js
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
59
60
61
62
63
64
65
66
var redis = require('redis');
var client = redis.createClient(process.env.REDIS_URL, {no_ready_check: true});
var fs = require('fs');
var index = fs.readFileSync(__dirname + '/public/index.html');
var db = require('./database');
module.exports = function handler(req, res) {
var url = req.url;
var urlArray = url.split('/');
var username = urlArray[2];
var post = urlArray[3];
var date = urlArray[4];
var storeNo = urlArray[5];
if (req.method === 'GET' && req.url === '/') {
res.writeHead(200, {
"Content-Type": "text/html"
});
res.write(index);
res.end();
} else if(req.method === 'GET' && req.url === '/topten'){
console.log('is this get top ten req working');
db.tenFromList(date,username,post,res);
} else if(req.method === 'POST'){
post = post.replace( /%(20)/g," ");
db.addPostRedis(date,username,post,storeNo);
db.addDateToList(date,username,post);
db.tenFromList(date,username,post,res);
} else if (req.method === 'DELETE') {
var urlDel = req.url;
var urlArray2 = urlDel.split('/');
var deleteDate = urlArray2[2];
db.delPost(deleteDate, username, post, res);
console.log(deleteDate,req.url,req.method,'------');
console.log(urlDel,'---------del hand');
} else {
fs.readFile(__dirname + '/public'+req.url, function(err, file) {
if (err) {
res.writeHead(404, {
"Content-Type": "text/" + ext
});
console.log('error:'+err);
res.end();
} else {
var ext = req.url.split('.')[1];
res.writeHead(200, {
"Content-Type": "text/" + ext
});
res.end(file);
}
});
}
};