diff options
| author | Adam Soltys <[email protected]> | 2014-08-17 07:58:23 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2014-08-17 07:58:23 -0700 |
| commit | 21d3d8bcc8832184bb5de62f506e9fdae668840f (patch) | |
| tree | c7a280f70bb54eba465df5d8ed2a8d4e7f0e1f69 | |
| parent | 0fd4b44c1bd756307d43d9bf59016beac7aa810a (diff) | |
| download | coinos-server-21d3d8bcc8832184bb5de62f506e9fdae668840f.tar.gz coinos-server-21d3d8bcc8832184bb5de62f506e9fdae668840f.zip | |
Fetch rates with node
| -rw-r--r-- | app.js | 19 | ||||
| -rwxr-xr-x | fetch_rates.sh | 3 | ||||
| -rw-r--r-- | socket_test.js | 64 | ||||
| -rw-r--r-- | src/app.coffee | 14 |
4 files changed, 32 insertions, 68 deletions
@@ -1,5 +1,7 @@ (function() { - var RedisStore, app, authorize, bodyParser, cache, calculator, config, cookieParser, express, passport, path, session, sessionStore, sessions, transactions, users; + var RedisStore, app, authorize, bodyParser, cache, calculator, config, cookieParser, express, fs, passport, path, request, session, sessionStore, sessions, transactions, users; + + request = require('request'); express = require('express'); @@ -13,6 +15,8 @@ config = require('./config'); + fs = require('fs'); + calculator = require("./routes/calculator"); sessions = require("./routes/sessions")(passport); @@ -81,6 +85,19 @@ return next(); }; + setInterval(function() { + var file; + file = 'public/js/rates.json'; + return fs.truncate(file, 0, function() { + var r, stream; + stream = fs.createWriteStream(file); + r = request("https://api.bitcoinaverage.com/exchanges/all"); + return r.on('data', function(chunk) { + return stream.write(chunk); + }); + }); + }, 120000); + app.get('/', cache, sessions["new"]); app.get('/register', cache, users["new"]); diff --git a/fetch_rates.sh b/fetch_rates.sh deleted file mode 100755 index 0248c025..00000000 --- a/fetch_rates.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -curl -k https://api.bitcoinaverage.com/exchanges/all > $DIR/rates.tmp && mv $DIR/rates.tmp $DIR/public/js/rates.json diff --git a/socket_test.js b/socket_test.js deleted file mode 100644 index a029c016..00000000 --- a/socket_test.js +++ /dev/null @@ -1,64 +0,0 @@ -(function() { - var socket, transaction; - - transaction = { - "hash": {}, - "version": 1, - "lock_time": 0, - "ins": [ - { - "s": {}, - "q": 4294967295, - "o": {} - } - ], - "outs": [ - { - "v": {}, - "s": {} - }, { - "v": {}, - "s": {} - } - ], - "_buffer": {}, - "txid": "8500a0893a2d83a17819673884ade21bbef07d8c92bfe51682e45873cc2d3720", - "vin": [ - { - "n": 0, - "txid": "1549415465c84fb519ffb92339ef80461427502c90d5d3ac5d01f27d824feabd", - "vout": 1 - } - ], - "vout": [ - { - "valueSat": 10000, - "scriptPubKey": { - "addresses": ["1VAnbtCAnYccECnjaMCPnWwt81EHCVgNr"] - }, - "n": 0 - }, { - "valueSat": 3966838180, - "scriptPubKey": { - "addresses": ["1Ao8Swc6vSosrjednQkNZeXEXVu1ZcxYZE"] - }, - "n": 1 - } - ], - "time": 1405573125 - }; - - $('body').append(transaction.vout[0].valueSat); - - socket = io('ws://insight.bitpay.com'); - - socket.on('connect', function() { - $('body').append('connected'); - return this.emit('subscribe', '1VAnbtCAnYccECnjaMCPnWwt81EHCVgNr'); - }); - - socket.on('1VAnbtCAnYccECnjaMCPnWwt81EHCVgNr', function(data) { - return $('body').append(JSON.stringify(data)); - }); - -}).call(this); diff --git a/src/app.coffee b/src/app.coffee index 36d47658..86d6bd03 100644 --- a/src/app.coffee +++ b/src/app.coffee @@ -1,9 +1,11 @@ +request = require('request') express = require('express') bodyParser = require('body-parser') cookieParser = require('cookie-parser') path = require('path') passport = require('./passport') config = require('./config') +fs = require('fs') calculator = require("./routes/calculator") sessions = require("./routes/sessions")(passport) @@ -39,6 +41,18 @@ cache = (req, res, next) -> res.setHeader "Cache-Control", "public, max-age=900" next() +setInterval(-> + file = 'public/js/rates.json' + fs.truncate(file, 0, -> + stream = fs.createWriteStream(file) + + r = request("https://api.bitcoinaverage.com/exchanges/all") + r.on('data', (chunk) -> + stream.write(chunk) + ) + ) +, 120000) + app.get('/', cache, sessions.new) app.get('/register', cache, users.new) app.get('/ticker', cache, calculator.ticker) |
