Move `context` example to a standalone app

This commit is contained in:
Miroslav Bajtoš 2014-11-04 11:24:25 +01:00
parent 885f4e047d
commit 7a1a3b8592
3 changed files with 30 additions and 5 deletions

View File

@ -18,10 +18,6 @@ CartItem.sum = function(cartId, callback) {
return prev + cur;
}, 0);
var ns = loopback.getCurrentContext();
if (ns && ns.get('http')) {
console.log('Remote call via url: %s', ns.get('http').req.url);
}
callback(null, total);
});
}

View File

@ -5,7 +5,7 @@ var memory = loopback.createDataSource({
connector: loopback.Memory
});
server.use(loopback.rest({context: {enableHttpContext: true}}));
server.use(loopback.rest());
server.model(CartItem);
CartItem.attachTo(memory);

29
example/context/app.js Normal file
View File

@ -0,0 +1,29 @@
var loopback = require('../../');
var app = loopback();
// Create a LoopBack context for all requests
app.use(loopback.context());
// Store a request property in the context
app.use(function saveHostToContext(req, res, next) {
var ns = loopback.getCurrentContext();
ns.set('host', req.host);
next();
});
app.use(loopback.rest());
var Color = loopback.createModel('color', { 'name': String });
Color.beforeRemote('**', function (ctx, unused, next) {
// Inside LoopBack code, you can read the property from the context
var ns = loopback.getCurrentContext();
console.log('Request to host', ns && ns.get('host'));
next();
});
app.dataSource('db', { connector: 'memory' });
app.model(Color, { dataSource: 'db' });
app.listen(3000, function() {
console.log('A list of colors is available at http://localhost:3000/colors');
});