diff --git a/server/utils/rx.js b/server/utils/rx.js index 8088e163e0..ed7e0ebf73 100644 --- a/server/utils/rx.js +++ b/server/utils/rx.js @@ -27,6 +27,15 @@ exports.observableQueryFromModel = return Rx.Observable.fromNodeCallback(Model[method], Model)(query); }; -exports.observeMethod = function observeMethod(Model, method) { - return Rx.Observable.fromNodeCallback(Model[method], Model); +exports.observeMethod = function observeMethod(context, methodName) { + return Rx.Observable.fromNodeCallback(context[methodName], context); +}; + +// add rx methods to express +exports.rxMiddleware = function rxMiddleware() { + return function rxMiddleware(req, res, next) { + // render to observable + res.render$ = Rx.Observable.fromNodeCallback(res.render, res); + next(); + }; };