From 603e7709ca2a00792aed252c24ea64216b8b5c55 Mon Sep 17 00:00:00 2001 From: Vytor Calixto <vytorcalixto@gmail.com> Date: Fri, 8 Jul 2016 10:01:46 -0300 Subject: [PATCH] Add XML response --- libs/app.js | 1 + libs/routes/api.js | 11 ++++++++--- package.json | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libs/app.js b/libs/app.js index 205448c6..bf578043 100644 --- a/libs/app.js +++ b/libs/app.js @@ -3,6 +3,7 @@ var path = require('path') var cookieParser = require('cookie-parser') var bodyParser = require('body-parser') var csv = require('csv-express') +var xml = require('xml') var methodOverride = require('method-override') var libs = process.cwd() + '/libs/' diff --git a/libs/routes/api.js b/libs/routes/api.js index faafaf21..d5dadcd3 100644 --- a/libs/routes/api.js +++ b/libs/routes/api.js @@ -1,6 +1,6 @@ var express = require('express') var router = express.Router() - +var xml = require('xml') var libs = process.cwd() + '/libs/' var log = require(libs + 'log')(module) @@ -27,7 +27,7 @@ router.get('/data', function(req, res) { }) }) -router.get('/matriculas/:format?', function(req, res) { +router.get('/matriculas.:format?', function(req, res) { log.debug(req.query); tbl_name = "matriculas"; @@ -49,8 +49,13 @@ router.get('/matriculas/:format?', function(req, res) { 'SELECT * FROM ' + tbl_name, true ).then(function(result) { log.debug(result); - if (req.params.format) { + if (req.params.format === 'csv') { res.csv(result.data) + } else if (req.params.format === 'xml') { + res.set('Content-Type', 'text/xml') + res.send(xml({ + 'result': result.data + })) } else { res.json({ diff --git a/package.json b/package.json index f5ff893b..54616e2e 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "method-override": "^2.3.3", "monetdb": "^1.1.2", "nconf": "^0.6.x", - "winston": "^0.8.x" + "winston": "^0.8.x", + "xml": "^1.0.1" }, "license": "MIT" } -- GitLab