File size: 1,043 Bytes
befd7da |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
'use strict';
var resolveOptions = require('../lib/resolveOptions');
// The Container object is passed down the chain of Promises, with each one
// of them mutating and returning Container. The goal is that (eventually)
// author using this library // could hook into/override any of these
// workflow steps with a Promise or simple function.
// Container for scoped arguments in a promise chain. Each promise recieves
// this as its argument, and returns it.
//
// Do not expose the details of this to hooks/user functions.
function Container(req, res, next, host, userOptions) {
return {
user: {
req: req,
res: res,
next: next,
},
proxy: {
req: undefined,
res: undefined,
resData: undefined, // from proxy res
bodyContent: undefined, // for proxy req
reqBuilder: {}, // reqOpt, intended as first arg to http(s)?.request
},
options: resolveOptions(userOptions),
params: {
host: host,
userOptions: userOptions
}
};
}
module.exports = Container;
|