mardi 3 mars 2015

Different ExpressJS Error for API vs Page Request?

What is the best way to detect if a request is for an API call versus a page request? I'd like to render a view for page requests and send JSON for API requests. For example:


Common error for page requests:



if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('500', {
message: err.message,
error: err
});
});
}


Common error for API requests:



if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.send({
message: err.message,
error: err
});
});
}


Thinking about using this but wanted other opinions:



if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
if (req.url.startsWith('/api')){
res.send({
msg: err.message,
err: err
});
} else {
res.render('500', {
message: err.message,
error: err
});
}
});
}

Aucun commentaire:

Enregistrer un commentaire