1 | const requestIp = require('request-ip');
|
2 | const success = require('./success');
|
3 | const error = require('./error');
|
4 | const audit = require('./audit');
|
5 | const resolve = require('./resolve');
|
6 | const reject = require('./reject');
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | function bootstrap(app, config)
|
14 | {
|
15 |
|
16 | config.audit = config.audit || app.audit || audit;
|
17 | app.audit = config.audit;
|
18 |
|
19 | return function (req, res, next)
|
20 | {
|
21 | req.clientIp = requestIp.getClientIp(req);
|
22 | req.audit = res.audit = function ()
|
23 | {
|
24 | let source = `${req.user ? req.user.id : 'anonymous'}@${req.clientIp}`;
|
25 |
|
26 | app.audit.apply(null, [source].concat(Array.prototype.slice.call(arguments)));
|
27 | };
|
28 | res.success = success.bind(null, res);
|
29 | res.error = error.bind(null, res);
|
30 | res.reject = reject.bind(null, res);
|
31 | res.resolve = resolve.bind(null, res);
|
32 | next();
|
33 | }
|
34 | }
|
35 |
|
36 | module.exports = bootstrap;
|