-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathserver.js
30 lines (29 loc) · 873 Bytes
/
server.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
var argv = require('optimist')
.usage('Example: node server.js -p 4343')
.describe('p','port')
.demand('p')
.argv;
var http = require('http');
var response = require('response')
var fs = require('fs')
var path = require('path')
var leaderboard = require('./leaderboard')
var ecstatic = require('ecstatic')(path.join(__dirname,'/web'))
var server = http.createServer(function(req,res) {
switch (req.url) {
case '/getSorted' :
response.json(leaderboard.getSorted()).pipe(res)
break;
case '/recalculate' :
leaderboard.recalculate()
response.json({ok:true}).pipe(res)
break;
case '/nextTime' :
response.json(leaderboard.nextTime()).pipe(res)
break;
default:
ecstatic(req,res)
break;
}
})
server.listen(argv.p)