From 8a96f6ff6bba8bdf53b1d75f309fee4078bc2907 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Thu, 1 Sep 2016 22:34:34 +0100 Subject: [PATCH] Move node list code out into seperate module --- lib/tor.js | 23 +++++++++++++++++++++++ viewModels/listing.js | 23 ++++------------------- 2 files changed, 27 insertions(+), 19 deletions(-) create mode 100644 lib/tor.js diff --git a/lib/tor.js b/lib/tor.js new file mode 100644 index 0000000..ac450e5 --- /dev/null +++ b/lib/tor.js @@ -0,0 +1,23 @@ +const onionoo = require('onionoo'); + +module.exports = { + listNodes: query => { + return onionoo + .summary(query) + .then(summary => { + const nodes = summary.relays.concat(summary.bridges); + return Promise.all(nodes.map(node => onionoo.details({ lookup: node.f || node.h }))); + }) + .then(summaryDetails => { + return summaryDetails.map(details => { + if(details.relays[0]) { + details.relays[0].type = 'relay'; + return details.relays[0]; + } else if(details.bridges[0]) { + details.bridges[0].type = 'bridge'; + return details.bridges[0]; + } + }); + }); + } +}; diff --git a/viewModels/listing.js b/viewModels/listing.js index 77f12db..1444bd5 100644 --- a/viewModels/listing.js +++ b/viewModels/listing.js @@ -1,4 +1,4 @@ -const onionoo = require('onionoo'); +const tor = require('../lib/tor'); module.exports = (req, res) => { @@ -12,22 +12,7 @@ module.exports = (req, res) => { query.running = true; } - onionoo.summary(query) - .then(summary => { - const nodes = summary.relays.concat(summary.bridges); - return Promise.all(nodes.map(node => onionoo.details({ lookup: node.f || node.h }))); - }) - .then(summaryDetails => { - const nodes = summaryDetails - .map(details => { - if(details.relays[0]) { - details.relays[0].type = 'relay'; - return details.relays[0]; - } else if(details.bridges[0]) { - details.bridges[0].type = 'bridge'; - return details.bridges[0]; - } - }); - return res.render('listing.html', { nodes: nodes }); - }); + tor.listNodes(query).then(nodes => res.render('listing.html', { + nodes: nodes + })); }