Commit 2379f3a6b3589e1d71959ab463611ff6a97128e4
1 parent
f9c75e1fa9
Exists in
master
http report
Showing 1 changed file with 43 additions and 10 deletions Inline Diff
httpserver.js
1 | var config; | ||
2 | var logger; | ||
3 | var name = require('path').basename(__filename); | 1 | var name = require('path').basename(__filename); |
2 | |||
3 | var redis = require('redis'); | ||
4 | var redisClient; | ||
5 | |||
4 | var http = require('http'); | 6 | var http = require('http'); |
5 | var nsr = require('node-simple-router'); | 7 | var nsr = require('node-simple-router'); |
6 | var router = nsr(); | 8 | var router = nsr(); |
7 | var httpServer; | ||
8 | 9 | ||
9 | function onGetChipsIndex(request, response) { | 10 | var httpServer; |
10 | response.end(); | 11 | var config; |
11 | } | 12 | var logger; |
12 | 13 | ||
13 | function onGetDenomsIndex(request, response) { | 14 | function onHttpGetByDenom(request, response) { |
14 | response.end(); | 15 | var key = 'stock.dompul.by-denom.' + request.params.denom; |
16 | |||
17 | redisClient.hgetall(key, function(err, obj) { | ||
18 | |||
19 | if (err) { | ||
20 | response.end(); | ||
21 | return; | ||
22 | } | ||
23 | |||
24 | if (request.params.total != true) { | ||
25 | response.end(JSON.stringify(obj)); | ||
26 | return; | ||
27 | } | ||
28 | |||
29 | var chips = Object.getOwnPropertyNames(obj); | ||
30 | var chipsCount = chips.length; | ||
31 | var total = 0; | ||
32 | |||
33 | for (var i = 0; i < chipsCount; i++) { | ||
34 | total = total + parseInt(obj[chips[i]]); | ||
35 | } | ||
36 | response.end(total.toString()); | ||
37 | }); | ||
15 | } | 38 | } |
16 | 39 | ||
17 | 40 | ||
18 | function createServer() { | 41 | function createServer() { |
19 | router.get('/chips', onGetChipsIndex); | 42 | router.get('/denoms/:denom', onHttpGetByDenom); |
20 | router.get('/denoms', onGetDenomsIndex); | 43 | router.get('/denoms/:denom/total', function(req, res) { |
44 | req.params.total = true; | ||
45 | onHttpGetByDenom(req, res); | ||
46 | }); | ||
21 | 47 | ||
22 | httpServer = http.createServer(router).listen(config.httpserver.listen_port); | 48 | httpServer = http.createServer(router).listen(config.httpserver.listen_port); |
23 | console.log('HTTP server listens on port ' + config.httpserver.listen_port); | 49 | console.log('HTTP server listens on port ' + config.httpserver.listen_port); |
24 | } | 50 | } |
25 | 51 | ||
26 | function start(_config, _logger) { | 52 | function start(_config, _logger) { |
27 | config = _config; | 53 | config = _config; |
28 | logger = _logger; | 54 | logger = _logger; |
29 | 55 | ||
56 | redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host); | ||
57 | |||
58 | redisClient.on("error", function (err) { | ||
59 | logger.error(name + "- redis client error: " + err); | ||
60 | }); | ||
61 | |||
62 | |||
30 | logger.info('Starting http server'); | 63 | logger.info('Starting http server'); |
31 | 64 | ||
32 | createServer(); | 65 | createServer(); |
33 | } | 66 | } |