router.get('/api', function (req, res) { var result = validateAndGetValue(req,res); var inputs = getInputs(req); if (req.query.format == 'json'){ if (result){ res.json(result); } } else if(req.query.format == 'xml'){ if (result){ var msg = xmlify(result, { root: 'results' }); res.set('Content-Type', 'text/xml'); res.send(msg); res.end(); } } else { res.send(result); res.set(400); res.end(); }; visitor.pageview("/DesignValues").send(); db.SaveAPIRequest(req.connection.remoteAddress,"DesignValues",inputs); });
app.use(function* contentNegotiation(next) { /* eslint no-case-declarations: 1 */ yield next; if (!this.body) return; // no content to return // check Accept header for preferred response type const type = this.accepts('json', 'xml', 'yaml', 'text'); switch (type) { case 'json': default: delete this.body.root; // xml root element break; // ... koa takes care of type case 'xml': this.type = type; const root = this.body.root; // xml root element delete this.body.root; this.body = xmlify(this.body, root); break; case 'yaml': case 'text': delete this.body.root; // xml root element this.type = 'yaml'; this.body = yaml.dump(this.body); break; case false: this.throw(406); // "Not acceptable" - can't furnish whatever was requested break; } });
festivales.find(function(err, festivales){ if(err) return next(err); var xmlString = xmlify(festivales,{root:'festivales'}); res.send(xmlify(xmlString,true)); });
leyendas.find(function(err, leyendas){ if(err) return next(err); var xmlString = xmlify(leyendas,{root:'leyendas'}); res.send(xmlify(xmlString,true)); });
monumentos.find(function(err, monumentos){ if(err) return next(err); var xmlString = xmlify(monumentos,{root:'monumentos'}); res.send(xmlify(xmlString,true)); });