node-continuation-local-storage
node-continuation-local-storage copied to clipboard
Access to req, res objects
From the examples it's not entirely clear to me how I can access data that I pass to the bindEmitter()
function. In the code below I use the createServer
from the http
module. Now my question is, how can I save the request and response objects to later access them from my foo
function?
var createNamespace = require('continuation-local-storage').createNamespace;
var session = createNamespace('some namespace');
var http = require('http');
function foo() {
// How do I access res/req from here?
}
http.createServer(function (req, res) {
session.bindEmitter(req);
session.bindEmitter(res);
// Call foo without passing in req and res.
foo();
}).listen(8000);
var createNamespace = require('continuation-local-storage').createNamespace;
var session = createNamespace('some namespace');
var http = require('http');
http.createServer(function (req, res) {
session.bindEmitter(req);
session.bindEmitter(res);
// Call foo without passing in req and res.
foo();
function foo() {
console.log(req, res);
}
}).listen(8000);
like this?
bindEmitter
only ensures continuation through event emitters. It doesn't expose anything to the context.
What you need is to do something like session.set('request', req)
and then session.get('request')
later.