diff options
| author | Adam Soltys <[email protected]> | 2015-12-11 11:28:18 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2015-12-11 11:29:30 -0800 |
| commit | f466c6aa4db08d953df9916fad8ba5d03020e0a0 (patch) | |
| tree | 14c139e53929cae7c7e39f5ad298780716be5c9a /src | |
| parent | 208311023aa6eb433d5e1201eafcd53fab0e6dbd (diff) | |
| download | coinos-server-f466c6aa4db08d953df9916fad8ba5d03020e0a0.tar.gz coinos-server-f466c6aa4db08d953df9916fad8ba5d03020e0a0.zip | |
Proxy blockcypher API requests
Diffstat (limited to 'src')
| -rw-r--r-- | src/app.coffee | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/app.coffee b/src/app.coffee index df3c0433..fc1eee37 100644 --- a/src/app.coffee +++ b/src/app.coffee @@ -6,6 +6,7 @@ path = require('path') passport = require('./passport') config = require('./config') fs = require('fs') +proxyMiddleware = require('http-proxy-middleware') sessions = require("./routes/sessions")(passport) transactions = require("./routes/transactions") @@ -15,12 +16,25 @@ session = require('express-session') RedisStore = require('connect-redis')(session) sessionStore = new RedisStore(require('./redis').host, ttl: 172800) +proxyContext = '/blockcypher' +proxyOptions = + target: 'https://api.blockcypher.com' + changeOrigin: true + pathRewrite: + '^/blockcypher/': '/' + onProxyReq: (proxyReq, req, res) -> + symbol = if '?' in proxyReq.path then '&' else '?' + proxyReq.path += "#{symbol}token=#{config.blockcypher_token}" + +proxy = proxyMiddleware(proxyContext, proxyOptions) + app = express() app.enable('trust proxy') app.engine('html', require('hogan-express')) app.set('view engine', 'html') app.set('views', __dirname + '/views') app.use(express.static(__dirname + '/public')) +app.use(proxy) app.use(bodyParser.urlencoded({ extended: true})) app.use(bodyParser.json()) app.use(bodyParser.json({ type: 'application/vnd.api+json' })) @@ -61,6 +75,7 @@ do fetchRates = -> ) setTimeout(fetchRates, 120000) + app.get('/', cache, sessions.new) app.get('/address', cache, (req, res) -> @@ -91,11 +106,6 @@ app.get('/ticker', cache, (req, res) -> ) ) -app.get('/token', cache, (req, res) -> - res.write(config.blockcypher_token) - res.end() -) - app.get('/tips', cache, (req, res) -> res.render('tips', notice: true, |
