UNPKG

insight-via-api

Version:

A Viacoin blockchain REST and web socket API service for Viacore Node.

46 lines (39 loc) 1.15 kB
'use strict'; var request = require('request'); function CurrencyController(options) { this.node = options.node; var refresh = options.currencyRefresh || CurrencyController.DEFAULT_CURRENCY_DELAY; this.currencyDelay = refresh * 60000; this.bitstampRate = 0; this.timestamp = Date.now(); } CurrencyController.DEFAULT_CURRENCY_DELAY = 10; CurrencyController.prototype.index = function(req, res) { var self = this; var currentTime = Date.now(); if (self.bitstampRate === 0 || currentTime >= (self.timestamp + self.currencyDelay)) { self.timestamp = currentTime; request('http://coinmarketcap-nexuist.rhcloud.com/api/via', function(err, response, body) { if (err) { self.node.log.error(err); } if (!err && response.statusCode === 200) { self.bitstampRate = parseFloat(JSON.parse(body).price.usd); } res.jsonp({ status: 200, data: { bitstamp: self.bitstampRate } }); }); } else { res.jsonp({ status: 200, data: { bitstamp: self.bitstampRate } }); } }; module.exports = CurrencyController;