var express = require('express'), http = require('http');
var router = express.Router();
var btcCache = {};

/* GET users listing. */
router.get('/', function(req, res, next) {

  console.log('Bitcoin request');
          function btcQuery(callback, r) {
              var req = r;
              var options = {
                  host: 'api.coindesk.com',
                  //  port: 80,
                  path: '/v1/bpi/currentprice.json',
                  // method: 'GET',
                  headers: {
                      /*   'Content-Type': 'application/json',
                       'Content-Length': Buffer.byteLength(data)*/

                  }
              };

              http.request(options).on('response', function (response) {
                  var data = '';
                  response.on("data", function (chunk) {
                      data += chunk;
                  });
                  response.on('end', function () {
                      callback(JSON.parse(data), r);
                  });
              }).end();
          }

          var now = new Date();
          if (now - GLOBAL.lastcheck.btc > (59000 )) {
              btcQuery(function (a, b) {
                  console.log(a);
                  btcCache = a;
                  GLOBAL.lastcheck.btc = now;
                res.writeHead(200, {"ContentType": "application/json"});
                  //res.setHeader('Content-Type', 'application/json');
                  res.end(JSON.stringify(btcCache));
              }, res)
          }
          else {
              console.log("Using cache");
              //res.setHeader('Content-Type', 'application/json');
            res.writeHead(200, {"ContentType": "application/json"});
              res.end(JSON.stringify(btcCache));
          }

});

module.exports = router;
