diff --git a/httpserver.js b/httpserver.js index 167472b..66a4281 100644 --- a/httpserver.js +++ b/httpserver.js @@ -13,13 +13,40 @@ var httpServer; var config; var logger; -function formatData(data, format) { - if (format == 'xml') { - return js2xmlparser('stock', data); + +function toArrayOfObject(obj) { + var arr = []; + + var chips = Object.getOwnPropertyNames(obj); + var chipsCount = chips.length; + + for (var i = 0; i < chipsCount; i++) { + data = { + 'name': chips[i], + 'stock': obj[chips[i]], + } + + arr.push(data); } + return arr; +} + +function formatDataAsHtml(data) { return JSON.stringify(data); } +function formatData(_data, format) { + data = toArrayOfObject(_data); + if (format == 'xml') { + return js2xmlparser('chips', {chip: data}); + } + else if (format == 'json') { + return JSON.stringify(data); + } + + return formatDataAsHtml(data); +} + function getStockKeyForDenom(denom) { return 'stock.dompul.by-denom.' + denom; } diff --git a/package.json b/package.json index dcf5ae4..5551fea 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,8 @@ "iniparser": "~1.0.5", "winston": "~1.0.0", "node-simple-router": "~0.9.4-2", - "js2xmlparser": "~0.1.9" + "js2xmlparser": "~0.1.9", + "xml": "~1.0.0", + "xmlbuilder": "~2.6.2" } }