node.js - Express route handler based with custom parameters -


i'd output either html or json based on req.headers data. example: if req.headers.contenttype == "application/json" return json, otherwise html.

var route = {     html: function(req, res, next) {},     json: function(req, res, next) {} }  app.get('/test', route); 

this doesn't work. figured i'd need have intermediary function:

app.get('/test', _findroute);  function _findroute(req, res, next) {     if(req.headers["content-type"] === "application/json") {         return route.json;     } else {         return route.html;     } } 

which doesn't work because don't have access route object @ point.

i can do:

app.get('/text', _findroute(route)); 

but don't have access req object.

i have no idea how proceed, ideas welcome :)

the last version (app.get('/text', _findroute(route));) work if rewrite _findroute little.

function _findroute (route) {   return function (req, res, next) {     if(req.headers["content-type"] === "application/json") {      route.json(req, res, next);     }     else {      route.html(req, res, next);     }   } } 

Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

rewrite - Trouble with Wordpress multiple custom querystrings -