| ; | |
| 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; | |