-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
57 lines (48 loc) · 1.33 KB
/
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
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
var restify = require('restify');
var fxRates = require("./rates/fx-rates.js");
var fxFeed = new fxRates.FxRatesFeed();
var server = restify.createServer({
formatters: {
'application/json': function(req, res, body) {
return JSON.stringify(body, null, 4 );
}
}
});
server.use(restify.plugins.queryParser());
server.name = "Letsbet API server";
server.get('/fx-rates', function (req, res, next){
fxFeed.fetch(false,function(rates){
res.json(rates);
});
});
server.get('/fx-rates/:symbol', function (req, res, next){
var symbol = req.params.symbol;
var type = req.query.type;
fxFeed.get(symbol,null,function(rate){
if(type === "short" && rate.value){
var value = new Number(rate.value);
res.send(value);
}else{
res.json(rate);
}
});
});
server.get('/fx-rates/:symbol/:time', function (req, res, next){
var symbol = req.params.symbol;
var time = req.params.time;
var type = req.query.type;
fxFeed.get(symbol,time,function(rate){
if(type === "short" && rate.value){
var value = new Number(rate.value);
res.send(value);
}else{
res.json(rate);
}
});
});
server.on('NotFound', function(req, res, err) {
res.send('Not Found');
});
server.listen(9090,'127.0.0.1', function() {
console.log('%s listening at %s', server.name, server.url);
});