var request = require('request'),
    async = require('async'),
    _ = require('underscore');

exports.list = function(req, res) {
  async.parallel([fetchBtcIsk, fetchIskBase],
    // Callback
    function(err, results) {
      res.send(_.flatten(results));
    }
  );
};

exports.show = function(req, res) {
  async.parallel([fetchBtcIsk, fetchIskBase],
    // Callback
    function(err, results) {
      flattenResults = _.flatten(results);

      res.send(_.findWhere(flattenResults, {shortName: req.params.name}));
    }
  );
};

function fetchIskBase(cb) {
  request.get({ url: 'http://apis.is/currency/lb' },
    function (err, response, data) {
      if(err) {
        cb(true);
      } else {
        data = JSON.parse(data);
        cb(null, data.results);
      }
    }
  );
}

function fetchBtcIsk(cb) {
  request.get({ url: 'https://api.coindesk.com/v1/bpi/currentprice/ISK.json' },
    function (err, response, data) {
      data = JSON.parse(data);
      if(err) {
        cb(true);
      } else if(data.bpi) {
        cb(null, [{
          shortName: 'BTC',
          longName: "Bitcoin",
          value: data.bpi.ISK.rate_float
        }]);
      } else {
        cb(true);
      }
    }
  );
}
@@ -400,16 +400,20 @@
 %7B%0A      
+var 
 flattenR
@@ -421,16 +421,22 @@
 sults = 
+_.map(
 _.flatte
@@ -445,16 +445,185 @@
 results)
+, function(curr) %7B%0A        return %7B%0A          shortName: curr.shortName.toUpperCase(),%0A          longName: curr.longName,%0A          value: curr.value%0A        %7D;%0A      %7D)
 ;%0A%0A     
@@ -687,16 +687,30 @@
 ams.name
+.toUpperCase()
 %7D));%0A   

Support anyCase for currency shortName queries