From 3e8e6358bb4102e453d07c680e04fc1e75a9ec75 Mon Sep 17 00:00:00 2001 From: Mario Colque Date: Thu, 23 Jan 2014 17:33:12 -0300 Subject: [PATCH] fix error when there are not transaccion --- app/controllers/transactions.js | 40 +++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/app/controllers/transactions.js b/app/controllers/transactions.js index 933a6f7..94d2ba3 100644 --- a/app/controllers/transactions.js +++ b/app/controllers/transactions.js @@ -42,6 +42,9 @@ var getTransaction = function(txid, cb) { console.log(err); return cb(err); } + + if (!tx) return cb(new Error('Transaction not found')); + return cb(null, tx.info); }); }; @@ -79,13 +82,17 @@ exports.list = function(req, res, next) { txs = block.info.tx; } - async.mapSeries(txs, getTransaction, - function(err, results) { - res.jsonp({ - pagesTotal: pagesTotal, - txs: results - }); + async.mapSeries(txs, getTransaction, function(err, results) { + if (err) { + console.log(err); + res.status(404).send('TX not found'); + } + + res.jsonp({ + pagesTotal: pagesTotal, + txs: results }); + }); }); } else if (addrStr) { @@ -109,13 +116,17 @@ exports.list = function(req, res, next) { txs = a.transactions; } - async.mapSeries(txs, getTransaction, - function(err, results) { - res.jsonp({ - pagesTotal: pagesTotal, - txs: results - }); + async.mapSeries(txs, getTransaction, function(err, results) { + if (err) { + console.log(err); + res.status(404).send('TX not found'); + } + + res.jsonp({ + pagesTotal: pagesTotal, + txs: results }); + }); }); } else { @@ -133,6 +144,11 @@ exports.list = function(req, res, next) { } async.mapSeries(txids, getTransaction, function(err, alltxs) { + if (err) { + console.log(err); + res.status(404).send('TX not found'); + } + res.jsonp({ txs: alltxs, length: alltxs.length