mirror of
https://gitee.com/java110/MicroCommunityWeb.git
synced 2026-02-24 21:59:12 +08:00
36 lines
1.0 KiB
JavaScript
Executable File
36 lines
1.0 KiB
JavaScript
Executable File
'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;
|