How to configure the Express response object to automatically add attributes to JSON?
express, javascript, node.js, node.js-connect
Solution
Once the data has been added to the stream, that's too late to rewrap it, so you have to do it before.
Either simply with a function:
res.json(wrap(obj));
You could also add your own json method
express.response.wrap_json = function(obj) {
this.json(wrap(obj));
};
so you can now call
res.wrap_json(obj);
Or you could replace express json implementation with yours
var original = express.response.json;
express.response.json = function(obj) {
original.call(this, wrap(obj));
};
I would only use the last one if you want to override all json calls.
Problem
I have an object: ``` var obj = { "stuff": "stuff" } ``` In Express, I send it the client like so: ``` res.json(obj); ``` Is there a way to configure the response object to automatically add attributes to the json it generates? For example, to output: ``` { "status": "ok", "data": { "stuff": "stuff" } } ``` Thanks!