diff --git a/lib/routes.js b/lib/routes.js index a38241d0..57ce8e85 100644 --- a/lib/routes.js +++ b/lib/routes.js @@ -18,7 +18,7 @@ function prepareApi(req, res) { var poll = function(req, res) { var rateRec = _trader.rate(); var balanceRec = _trader.balance; - var fingerprint = req.connection.getPeerCertificate().fingerprint; + var fingerprint = getFingerprint(req); var api = prepareApi(req, res); logger.debug('poll request from: %s', fingerprint); @@ -53,7 +53,7 @@ var poll = function(req, res) { }; var trade = function (req, res) { - var fingerprint = req.connection.getPeerCertificate().fingerprint; + var fingerprint = getFingerprint(req); var api = prepareApi(req, res); _trader.trade(req.body, fingerprint); api.respond(); @@ -67,7 +67,7 @@ var deviceEvent = function deviceEvent(req, res) { }; var idVerify = function idVerify(req, res) { - var fingerprint = req.connection.getPeerCertificate().fingerprint; + // var fingerprint = req.connection.getPeerCertificate().fingerprint; var api = prepareApi(req, res); _idVerifier.verify(req.body, function (err, idResult) { api.respond(err, idResult); @@ -75,7 +75,7 @@ var idVerify = function idVerify(req, res) { }; var send = function(req, res) { - var fingerprint = req.connection.getPeerCertificate().fingerprint; + var fingerprint = getFingerprint(req); var api = prepareApi(req, res); _trader.sendBitcoins(fingerprint, req.body, function(err, txHash) { api.respond(err, {txHash: txHash}); @@ -89,7 +89,7 @@ var pair = function(req, res) { _lamassuConfig.pair( token, - req.connection.getPeerCertificate().fingerprint, + getFingerprint(req), name, function(err) { if (err) return api.respond(err, null, 500); @@ -119,3 +119,8 @@ exports.init = function(config) { return app; }; + +function getFingerprint(req) { + return req.connection.getPeerCertificate && + req.connection.getPeerCertificate().fingerprint; +} diff --git a/test/unit/traderSendTest.js b/test/unit/traderSendTest.js index fcac1dde..3bf65091 100644 --- a/test/unit/traderSendTest.js +++ b/test/unit/traderSendTest.js @@ -37,7 +37,8 @@ describe('trader/send', function () { assert.equal(SATOSHIS, satoshis); assert.equal(transactionFee, TRANSACTION_FEE); callback(null, TXID); - } + }, + balance: function () {} }; trader.sendBitcoins(FINGERPRINT, { @@ -57,7 +58,8 @@ describe('trader/send', function () { trader.transferExchange = { sendBitcoins: function () { throw new Error('This should not have been called'); - } + }, + balance: function () {} }; trader.sendBitcoins(FINGERPRINT, {