evaengine 0.11.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ai/analysis.md +657 -0
- package/.ai/architecture/runtime.md +504 -0
- package/.ai/contracts/public-api.md +447 -0
- package/.ai/external-project-guide.md +248 -0
- package/.ai/vision.md +314 -0
- package/README.md +51 -62
- package/bin/engine +15 -21
- package/index.js +2 -18
- package/package.json +60 -64
- package/src/index.js +57 -0
- package/bin/engine-babel +0 -38
- package/lib/commands/index.js +0 -25
- package/lib/commands/index.js.map +0 -1
- package/lib/commands/interface.js +0 -51
- package/lib/commands/interface.js.map +0 -1
- package/lib/commands/make_entity.js +0 -549
- package/lib/commands/make_entity.js.map +0 -1
- package/lib/commands/tramp.js +0 -53
- package/lib/commands/tramp.js.map +0 -1
- package/lib/config/index.js +0 -98
- package/lib/config/index.js.map +0 -1
- package/lib/di.js +0 -99
- package/lib/di.js.map +0 -1
- package/lib/engine.js +0 -558
- package/lib/engine.js.map +0 -1
- package/lib/entities/index.js +0 -283
- package/lib/entities/index.js.map +0 -1
- package/lib/exceptions/index.js +0 -522
- package/lib/exceptions/index.js.map +0 -1
- package/lib/index.js +0 -105
- package/lib/index.js.map +0 -1
- package/lib/middlewares/auth.js +0 -97
- package/lib/middlewares/auth.js.map +0 -1
- package/lib/middlewares/auth_kong.js +0 -48
- package/lib/middlewares/auth_kong.js.map +0 -1
- package/lib/middlewares/debug.js +0 -68
- package/lib/middlewares/debug.js.map +0 -1
- package/lib/middlewares/index.js +0 -45
- package/lib/middlewares/index.js.map +0 -1
- package/lib/middlewares/providers.js +0 -102
- package/lib/middlewares/providers.js.map +0 -1
- package/lib/middlewares/session.js +0 -76
- package/lib/middlewares/session.js.map +0 -1
- package/lib/middlewares/trace.js +0 -241
- package/lib/middlewares/trace.js.map +0 -1
- package/lib/middlewares/validator.js +0 -71
- package/lib/middlewares/validator.js.map +0 -1
- package/lib/middlewares/view_cache.js +0 -160
- package/lib/middlewares/view_cache.js.map +0 -1
- package/lib/services/cache.js +0 -234
- package/lib/services/cache.js.map +0 -1
- package/lib/services/config.js +0 -140
- package/lib/services/config.js.map +0 -1
- package/lib/services/env.js +0 -40
- package/lib/services/env.js.map +0 -1
- package/lib/services/event_manager.js +0 -110
- package/lib/services/event_manager.js.map +0 -1
- package/lib/services/http_client.js +0 -178
- package/lib/services/http_client.js.map +0 -1
- package/lib/services/index.js +0 -70
- package/lib/services/index.js.map +0 -1
- package/lib/services/interface.js +0 -12
- package/lib/services/interface.js.map +0 -1
- package/lib/services/joi.js +0 -28
- package/lib/services/joi.js.map +0 -1
- package/lib/services/jwt_token.js +0 -120
- package/lib/services/jwt_token.js.map +0 -1
- package/lib/services/jwt_token_kong.js +0 -111
- package/lib/services/jwt_token_kong.js.map +0 -1
- package/lib/services/logger.js +0 -172
- package/lib/services/logger.js.map +0 -1
- package/lib/services/namespace.js +0 -188
- package/lib/services/namespace.js.map +0 -1
- package/lib/services/now.js +0 -69
- package/lib/services/now.js.map +0 -1
- package/lib/services/providers.js +0 -195
- package/lib/services/providers.js.map +0 -1
- package/lib/services/redis.js +0 -77
- package/lib/services/redis.js.map +0 -1
- package/lib/services/rest_client.js +0 -136
- package/lib/services/rest_client.js.map +0 -1
- package/lib/swagger/index.js +0 -684
- package/lib/swagger/index.js.map +0 -1
- package/lib/utils/api_scaffold.js +0 -253
- package/lib/utils/api_scaffold.js.map +0 -1
- package/lib/utils/case_converter.js +0 -48
- package/lib/utils/case_converter.js.map +0 -1
- package/lib/utils/crc32.js +0 -22
- package/lib/utils/crc32.js.map +0 -1
- package/lib/utils/datetime.js +0 -21
- package/lib/utils/datetime.js.map +0 -1
- package/lib/utils/host.js +0 -48
- package/lib/utils/host.js.map +0 -1
- package/lib/utils/index.js +0 -61
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/pagination.js +0 -269
- package/lib/utils/pagination.js.map +0 -1
- package/lib/utils/random.js +0 -33
- package/lib/utils/random.js.map +0 -1
- package/lib/utils/smart_query.js +0 -342
- package/lib/utils/smart_query.js.map +0 -1
- package/lib/utils/test.js +0 -62
- package/lib/utils/test.js.map +0 -1
- package/lib/utils/wrapper.js +0 -9
- package/lib/utils/wrapper.js.map +0 -1
package/lib/middlewares/auth.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _constitute = require('constitute');
|
|
8
|
-
|
|
9
|
-
var _wrapper = require('../utils/wrapper');
|
|
10
|
-
|
|
11
|
-
var _wrapper2 = _interopRequireDefault(_wrapper);
|
|
12
|
-
|
|
13
|
-
var _exceptions = require('../exceptions');
|
|
14
|
-
|
|
15
|
-
var _config2 = require('../services/config');
|
|
16
|
-
|
|
17
|
-
var _config3 = _interopRequireDefault(_config2);
|
|
18
|
-
|
|
19
|
-
var _now = require('../services/now');
|
|
20
|
-
|
|
21
|
-
var _now2 = _interopRequireDefault(_now);
|
|
22
|
-
|
|
23
|
-
var _jwt_token = require('../services/jwt_token');
|
|
24
|
-
|
|
25
|
-
var _jwt_token2 = _interopRequireDefault(_jwt_token);
|
|
26
|
-
|
|
27
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
28
|
-
|
|
29
|
-
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @param _config {Config}
|
|
33
|
-
* @param token {JsonWebToken}
|
|
34
|
-
* @returns {function()}
|
|
35
|
-
* @constructor
|
|
36
|
-
*/
|
|
37
|
-
function AuthMiddleware(_config, token, now) {
|
|
38
|
-
const config = _config.get();
|
|
39
|
-
return () => (0, _wrapper2.default)((() => {
|
|
40
|
-
var _ref = _asyncToGenerator(function* (req, res, next) {
|
|
41
|
-
const jwToken = req.header('X-Token') || req.query.api_key;
|
|
42
|
-
if (config.token.faker.enable === true && req.auth && req.auth.uid) {
|
|
43
|
-
res.set('X-Uid', req.auth.uid);
|
|
44
|
-
return next();
|
|
45
|
-
}
|
|
46
|
-
if (config.token.faker.enable === true && jwToken === config.token.faker.key) {
|
|
47
|
-
req.auth = { //eslint-disable-line no-param-reassign
|
|
48
|
-
type: 'fake',
|
|
49
|
-
uid: config.token.faker.uid,
|
|
50
|
-
token: config.token.faker.key
|
|
51
|
-
};
|
|
52
|
-
res.set('X-Uid', config.token.faker.uid);
|
|
53
|
-
return next();
|
|
54
|
-
}
|
|
55
|
-
if (jwToken) {
|
|
56
|
-
let parsedToken = {};
|
|
57
|
-
try {
|
|
58
|
-
parsedToken = yield token.find(jwToken);
|
|
59
|
-
} catch (e) {
|
|
60
|
-
throw new _exceptions.UnauthorizedException('Token not recognizable');
|
|
61
|
-
}
|
|
62
|
-
const { uid, expiredAt } = parsedToken;
|
|
63
|
-
if (!uid) {
|
|
64
|
-
throw new _exceptions.UnauthorizedException('User info not found in token');
|
|
65
|
-
}
|
|
66
|
-
if (expiredAt < now.getTimestamp()) {
|
|
67
|
-
throw new _exceptions.UnauthorizedException('Token expired');
|
|
68
|
-
}
|
|
69
|
-
req.auth = { //eslint-disable-line no-param-reassign
|
|
70
|
-
type: 'jwt',
|
|
71
|
-
uid,
|
|
72
|
-
token: jwToken
|
|
73
|
-
};
|
|
74
|
-
res.set('X-Uid', uid);
|
|
75
|
-
return next();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
if (req.session && req.session.uid) {
|
|
79
|
-
req.auth = { //eslint-disable-line no-param-reassign
|
|
80
|
-
type: 'session',
|
|
81
|
-
uid: req.session.uid,
|
|
82
|
-
token: ''
|
|
83
|
-
};
|
|
84
|
-
res.set('X-Uid', req.session.uid);
|
|
85
|
-
return next();
|
|
86
|
-
}
|
|
87
|
-
throw new _exceptions.UnauthorizedException('No authority token found');
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
return function (_x, _x2, _x3) {
|
|
91
|
-
return _ref.apply(this, arguments);
|
|
92
|
-
};
|
|
93
|
-
})());
|
|
94
|
-
}
|
|
95
|
-
(0, _constitute.Dependencies)(_config3.default, _jwt_token2.default, _now2.default)(AuthMiddleware); //eslint-disable-line new-cap
|
|
96
|
-
exports.default = AuthMiddleware;
|
|
97
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middlewares/auth.js"],"names":["AuthMiddleware","_config","token","now","config","get","req","res","next","jwToken","header","query","api_key","faker","enable","auth","uid","set","key","type","parsedToken","find","e","UnauthorizedException","expiredAt","getTimestamp","session","Config","JsonWebToken","Now"],"mappings":";;;;;;AAAA;;AACA;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;;;;;AAEA;;;;;;AAMA,SAASA,cAAT,CAAwBC,OAAxB,EAAiCC,KAAjC,EAAwCC,GAAxC,EAA6C;AAC3C,QAAMC,SAASH,QAAQI,GAAR,EAAf;AACA,SAAO,MAAM;AAAA,iCAAQ,WAAOC,GAAP,EAAYC,GAAZ,EAAiBC,IAAjB,EAA0B;AAC7C,YAAMC,UAAUH,IAAII,MAAJ,CAAW,SAAX,KAAyBJ,IAAIK,KAAJ,CAAUC,OAAnD;AACA,UAAIR,OAAOF,KAAP,CAAaW,KAAb,CAAmBC,MAAnB,KAA8B,IAA9B,IAAsCR,IAAIS,IAA1C,IAAkDT,IAAIS,IAAJ,CAASC,GAA/D,EAAoE;AAClET,YAAIU,GAAJ,CAAQ,OAAR,EAAiBX,IAAIS,IAAJ,CAASC,GAA1B;AACA,eAAOR,MAAP;AACD;AACD,UAAIJ,OAAOF,KAAP,CAAaW,KAAb,CAAmBC,MAAnB,KAA8B,IAA9B,IAAsCL,YAAYL,OAAOF,KAAP,CAAaW,KAAb,CAAmBK,GAAzE,EAA8E;AAC5EZ,YAAIS,IAAJ,GAAW,EAAE;AACXI,gBAAM,MADG;AAETH,eAAKZ,OAAOF,KAAP,CAAaW,KAAb,CAAmBG,GAFf;AAGTd,iBAAOE,OAAOF,KAAP,CAAaW,KAAb,CAAmBK;AAHjB,SAAX;AAKAX,YAAIU,GAAJ,CAAQ,OAAR,EAAiBb,OAAOF,KAAP,CAAaW,KAAb,CAAmBG,GAApC;AACA,eAAOR,MAAP;AACD;AACD,UAAIC,OAAJ,EAAa;AACX,YAAIW,cAAc,EAAlB;AACA,YAAI;AACFA,wBAAc,MAAMlB,MAAMmB,IAAN,CAAWZ,OAAX,CAApB;AACD,SAFD,CAEE,OAAOa,CAAP,EAAU;AACV,gBAAM,IAAIC,iCAAJ,CAA0B,wBAA1B,CAAN;AACD;AACD,cAAM,EAAEP,GAAF,EAAOQ,SAAP,KAAqBJ,WAA3B;AACA,YAAI,CAACJ,GAAL,EAAU;AACR,gBAAM,IAAIO,iCAAJ,CAA0B,8BAA1B,CAAN;AACD;AACD,YAAIC,YAAYrB,IAAIsB,YAAJ,EAAhB,EAAoC;AAClC,gBAAM,IAAIF,iCAAJ,CAA0B,eAA1B,CAAN;AACD;AACDjB,YAAIS,IAAJ,GAAW,EAAE;AACXI,gBAAM,KADG;AAETH,aAFS;AAGTd,iBAAOO;AAHE,SAAX;AAKAF,YAAIU,GAAJ,CAAQ,OAAR,EAAiBD,GAAjB;AACA,eAAOR,MAAP;AACD;;AAED,UAAIF,IAAIoB,OAAJ,IAAepB,IAAIoB,OAAJ,CAAYV,GAA/B,EAAoC;AAClCV,YAAIS,IAAJ,GAAW,EAAE;AACXI,gBAAM,SADG;AAETH,eAAKV,IAAIoB,OAAJ,CAAYV,GAFR;AAGTd,iBAAO;AAHE,SAAX;AAKAK,YAAIU,GAAJ,CAAQ,OAAR,EAAiBX,IAAIoB,OAAJ,CAAYV,GAA7B;AACA,eAAOR,MAAP;AACD;AACD,YAAM,IAAIe,iCAAJ,CAA0B,0BAA1B,CAAN;AACD,KAhDY;;AAAA;AAAA;AAAA;AAAA,OAAb;AAiDD;AACD,8BAAaI,gBAAb,EAAqBC,mBAArB,EAAmCC,aAAnC,EAAwC7B,cAAxC,E,CAAyD;kBAC1CA,c","file":"auth.js","sourcesContent":["import { Dependencies } from 'constitute';\nimport wrapper from '../utils/wrapper';\nimport { UnauthorizedException } from '../exceptions';\nimport Config from '../services/config';\nimport Now from '../services/now';\nimport JsonWebToken from '../services/jwt_token';\n\n/**\n * @param _config {Config}\n * @param token {JsonWebToken}\n * @returns {function()}\n * @constructor\n */\nfunction AuthMiddleware(_config, token, now) {\n const config = _config.get();\n return () => wrapper(async (req, res, next) => {\n const jwToken = req.header('X-Token') || req.query.api_key;\n if (config.token.faker.enable === true && req.auth && req.auth.uid) {\n res.set('X-Uid', req.auth.uid);\n return next();\n }\n if (config.token.faker.enable === true && jwToken === config.token.faker.key) {\n req.auth = { //eslint-disable-line no-param-reassign\n type: 'fake',\n uid: config.token.faker.uid,\n token: config.token.faker.key\n };\n res.set('X-Uid', config.token.faker.uid);\n return next();\n }\n if (jwToken) {\n let parsedToken = {};\n try {\n parsedToken = await token.find(jwToken);\n } catch (e) {\n throw new UnauthorizedException('Token not recognizable');\n }\n const { uid, expiredAt } = parsedToken;\n if (!uid) {\n throw new UnauthorizedException('User info not found in token');\n }\n if (expiredAt < now.getTimestamp()) {\n throw new UnauthorizedException('Token expired');\n }\n req.auth = { //eslint-disable-line no-param-reassign\n type: 'jwt',\n uid,\n token: jwToken\n };\n res.set('X-Uid', uid);\n return next();\n }\n\n if (req.session && req.session.uid) {\n req.auth = { //eslint-disable-line no-param-reassign\n type: 'session',\n uid: req.session.uid,\n token: ''\n };\n res.set('X-Uid', req.session.uid);\n return next();\n }\n throw new UnauthorizedException('No authority token found');\n });\n}\nDependencies(Config, JsonWebToken, Now)(AuthMiddleware); //eslint-disable-line new-cap\nexport default AuthMiddleware;\n"]}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _exceptions = require('../exceptions');
|
|
8
|
-
|
|
9
|
-
var _wrapper = require('../utils/wrapper');
|
|
10
|
-
|
|
11
|
-
var _wrapper2 = _interopRequireDefault(_wrapper);
|
|
12
|
-
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
|
|
15
|
-
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @returns {function()}
|
|
19
|
-
* @constructor
|
|
20
|
-
*/
|
|
21
|
-
function AuthKongMiddleware() {
|
|
22
|
-
return () => (0, _wrapper2.default)((() => {
|
|
23
|
-
var _ref = _asyncToGenerator(function* (req, res, next) {
|
|
24
|
-
if (req.headers['x-anonymous-consumer'] === 'true') {
|
|
25
|
-
throw new _exceptions.UnauthorizedException('Authentication failed');
|
|
26
|
-
}
|
|
27
|
-
const uid = Number.parseInt(req.headers['x-consumer-custom-id'], 10);
|
|
28
|
-
const mobile = req.headers['x-consumer-custom-username'];
|
|
29
|
-
if (uid > 0) {
|
|
30
|
-
res.set('X-Uid', uid);
|
|
31
|
-
res.set('X-Mobile', mobile);
|
|
32
|
-
req.auth = {
|
|
33
|
-
uid,
|
|
34
|
-
mobile
|
|
35
|
-
};
|
|
36
|
-
return next();
|
|
37
|
-
}
|
|
38
|
-
throw new _exceptions.UnauthorizedException('Authentication failed, invalid UID');
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
return function (_x, _x2, _x3) {
|
|
42
|
-
return _ref.apply(this, arguments);
|
|
43
|
-
};
|
|
44
|
-
})());
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
exports.default = AuthKongMiddleware;
|
|
48
|
-
//# sourceMappingURL=auth_kong.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middlewares/auth_kong.js"],"names":["AuthKongMiddleware","req","res","next","headers","UnauthorizedException","uid","Number","parseInt","mobile","set","auth"],"mappings":";;;;;;AAAA;;AACA;;;;;;;;AAEA;;;;AAIA,SAASA,kBAAT,GAA8B;AAC5B,SAAO,MAAM;AAAA,iCAAQ,WAAOC,GAAP,EAAYC,GAAZ,EAAiBC,IAAjB,EAA0B;AAC7C,UAAIF,IAAIG,OAAJ,CAAY,sBAAZ,MAAwC,MAA5C,EAAoD;AAClD,cAAM,IAAIC,iCAAJ,CAA0B,uBAA1B,CAAN;AACD;AACD,YAAMC,MAAMC,OAAOC,QAAP,CAAgBP,IAAIG,OAAJ,CAAY,sBAAZ,CAAhB,EAAqD,EAArD,CAAZ;AACA,YAAMK,SAASR,IAAIG,OAAJ,CAAY,4BAAZ,CAAf;AACA,UAAIE,MAAM,CAAV,EAAa;AACXJ,YAAIQ,GAAJ,CAAQ,OAAR,EAAiBJ,GAAjB;AACAJ,YAAIQ,GAAJ,CAAQ,UAAR,EAAoBD,MAApB;AACAR,YAAIU,IAAJ,GAAW;AACTL,aADS;AAETG;AAFS,SAAX;AAIA,eAAON,MAAP;AACD;AACD,YAAM,IAAIE,iCAAJ,CAA0B,oCAA1B,CAAN;AACD,KAhBY;;AAAA;AAAA;AAAA;AAAA,OAAb;AAiBD;;kBAEcL,kB","file":"auth_kong.js","sourcesContent":["import { UnauthorizedException } from '../exceptions';\nimport wrapper from '../utils/wrapper';\n\n/**\n * @returns {function()}\n * @constructor\n */\nfunction AuthKongMiddleware() {\n return () => wrapper(async (req, res, next) => {\n if (req.headers['x-anonymous-consumer'] === 'true') {\n throw new UnauthorizedException('Authentication failed');\n }\n const uid = Number.parseInt(req.headers['x-consumer-custom-id'], 10);\n const mobile = req.headers['x-consumer-custom-username'];\n if (uid > 0) {\n res.set('X-Uid', uid);\n res.set('X-Mobile', mobile);\n req.auth = {\n uid,\n mobile\n };\n return next();\n }\n throw new UnauthorizedException('Authentication failed, invalid UID');\n });\n}\n\nexport default AuthKongMiddleware;\n"]}
|
package/lib/middlewares/debug.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _morgan = require('morgan');
|
|
8
|
-
|
|
9
|
-
var _morgan2 = _interopRequireDefault(_morgan);
|
|
10
|
-
|
|
11
|
-
var _os = require('os');
|
|
12
|
-
|
|
13
|
-
var _os2 = _interopRequireDefault(_os);
|
|
14
|
-
|
|
15
|
-
var _constitute = require('constitute');
|
|
16
|
-
|
|
17
|
-
var _logger = require('../services/logger');
|
|
18
|
-
|
|
19
|
-
var _logger2 = _interopRequireDefault(_logger);
|
|
20
|
-
|
|
21
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
Log format:
|
|
25
|
-
NCSA Combined Log Format + extended fields
|
|
26
|
-
|
|
27
|
-
Nginx config as below
|
|
28
|
-
|
|
29
|
-
log_format upstream '$http_x_forwarded_for - $remote_user [$time_local] '
|
|
30
|
-
'"$request" $status $body_bytes_sent '
|
|
31
|
-
'"$http_referer" "$http_user_agent" '
|
|
32
|
-
'"$remote_addr" $host $request_time $upstream_response_time $scheme $server_port '
|
|
33
|
-
'$hostname $upstream_addr $http_x_device_id $sent_http_x_uid $sent_http_x_token '
|
|
34
|
-
'$sent_http_x_service_name $sent_http_x_b3_spanid $sent_http_x_b3_traceid '
|
|
35
|
-
'$sent_http_x_b3_parentspanid $sent_http_x_b3_sampled';
|
|
36
|
-
*/
|
|
37
|
-
|
|
38
|
-
_morgan2.default.token('host', req => req.headers.host);
|
|
39
|
-
|
|
40
|
-
_morgan2.default.token('real-ip', req => req.headers['x-real-ip'] || req.headers['x-forwarded-for'] || req.ip || req.connection && req.connection.remoteAddress);
|
|
41
|
-
|
|
42
|
-
_morgan2.default.token('port', req => req.headers.host && req.headers.host.split(':')[1] || -1);
|
|
43
|
-
|
|
44
|
-
const hostname = _os2.default.hostname();
|
|
45
|
-
_morgan2.default.token('hostname', () => hostname);
|
|
46
|
-
|
|
47
|
-
_morgan2.default.token('tokens', (req, res) => [res.getHeader('X-Uid') || '-', res.getHeader('X-Token') || '-'].join(' '));
|
|
48
|
-
|
|
49
|
-
_morgan2.default.token('tracer', (req, res) => [res.getHeader('X-Service-Name') || '-', res.getHeader('X-B3-SpanId') || '-', res.getHeader('X-B3-TraceId') || '-', res.getHeader('X-B3-ParentSpanId') || '-', res.getHeader('X-B3-Sampled') || '-'].join(' '));
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* @param logger {Logger}
|
|
53
|
-
* @returns {function()}
|
|
54
|
-
* @constructor
|
|
55
|
-
*/
|
|
56
|
-
function DebugMiddleware(logger) {
|
|
57
|
-
return () => (0, _morgan2.default)(':real-ip - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" ' + '":remote-addr" :host :response-time - :http-version :port :hostname - :tokens :tracer %s', {
|
|
58
|
-
stream: {
|
|
59
|
-
write: message => {
|
|
60
|
-
logger.info(message);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
(0, _constitute.Dependencies)(_logger2.default)(DebugMiddleware); //eslint-disable-line new-cap
|
|
67
|
-
exports.default = DebugMiddleware;
|
|
68
|
-
//# sourceMappingURL=debug.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middlewares/debug.js"],"names":["morgan","token","req","headers","host","ip","connection","remoteAddress","split","hostname","os","res","getHeader","join","DebugMiddleware","logger","stream","write","message","info","Logger"],"mappings":";;;;;;AAAA;;;;AACA;;;;AACA;;AACA;;;;;;AAEA;;;;;;;;;;;;;;;AAeAA,iBAAOC,KAAP,CACE,MADF,EAEEC,OACEA,IAAIC,OAAJ,CAAYC,IAHhB;;AAMAJ,iBAAOC,KAAP,CACE,SADF,EAEEC,OACEA,IAAIC,OAAJ,CAAY,WAAZ,KACAD,IAAIC,OAAJ,CAAY,iBAAZ,CADA,IAEAD,IAAIG,EAFJ,IAGCH,IAAII,UAAJ,IAAkBJ,IAAII,UAAJ,CAAeC,aANtC;;AASAP,iBAAOC,KAAP,CACE,MADF,EAEEC,OACGA,IAAIC,OAAJ,CAAYC,IAAZ,IAAoBF,IAAIC,OAAJ,CAAYC,IAAZ,CAAiBI,KAAjB,CAAuB,GAAvB,EAA4B,CAA5B,CAArB,IAAwD,CAAC,CAH7D;;AAMA,MAAMC,WAAWC,aAAGD,QAAH,EAAjB;AACAT,iBAAOC,KAAP,CAAa,UAAb,EAAyB,MAAMQ,QAA/B;;AAEAT,iBAAOC,KAAP,CACE,QADF,EAEE,CAACC,GAAD,EAAMS,GAAN,KACE,CACEA,IAAIC,SAAJ,CAAc,OAAd,KAA0B,GAD5B,EAEED,IAAIC,SAAJ,CAAc,SAAd,KAA4B,GAF9B,EAGEC,IAHF,CAGO,GAHP,CAHJ;;AASAb,iBAAOC,KAAP,CACE,QADF,EAEE,CAACC,GAAD,EAAMS,GAAN,KACE,CACEA,IAAIC,SAAJ,CAAc,gBAAd,KAAmC,GADrC,EAEED,IAAIC,SAAJ,CAAc,aAAd,KAAgC,GAFlC,EAGED,IAAIC,SAAJ,CAAc,cAAd,KAAiC,GAHnC,EAIED,IAAIC,SAAJ,CAAc,mBAAd,KAAsC,GAJxC,EAKED,IAAIC,SAAJ,CAAc,cAAd,KAAiC,GALnC,EAMEC,IANF,CAMO,GANP,CAHJ;;AAaA;;;;;AAKA,SAASC,eAAT,CAAyBC,MAAzB,EAAiC;AAC/B,SAAO,MACL,sBACE,mIACA,0FAFF,EAGE;AACEC,YAAQ;AACNC,aAAQC,OAAD,IAAa;AAClBH,eAAOI,IAAP,CAAYD,OAAZ;AACD;AAHK;AADV,GAHF,CADF;AAYD;;AAED,8BAAaE,gBAAb,EAAqBN,eAArB,E,CAAuC;kBACxBA,e","file":"debug.js","sourcesContent":["import morgan from 'morgan';\nimport os from 'os';\nimport { Dependencies } from 'constitute';\nimport Logger from '../services/logger';\n\n/**\n Log format:\n NCSA Combined Log Format + extended fields\n\n Nginx config as below\n\n log_format upstream '$http_x_forwarded_for - $remote_user [$time_local] '\n '\"$request\" $status $body_bytes_sent '\n '\"$http_referer\" \"$http_user_agent\" '\n '\"$remote_addr\" $host $request_time $upstream_response_time $scheme $server_port '\n '$hostname $upstream_addr $http_x_device_id $sent_http_x_uid $sent_http_x_token '\n '$sent_http_x_service_name $sent_http_x_b3_spanid $sent_http_x_b3_traceid '\n '$sent_http_x_b3_parentspanid $sent_http_x_b3_sampled';\n */\n\nmorgan.token(\n 'host',\n req =>\n req.headers.host\n);\n\nmorgan.token(\n 'real-ip',\n req =>\n req.headers['x-real-ip'] ||\n req.headers['x-forwarded-for'] ||\n req.ip ||\n (req.connection && req.connection.remoteAddress)\n);\n\nmorgan.token(\n 'port',\n req =>\n (req.headers.host && req.headers.host.split(':')[1]) || -1\n);\n\nconst hostname = os.hostname();\nmorgan.token('hostname', () => hostname);\n\nmorgan.token(\n 'tokens',\n (req, res) =>\n [\n res.getHeader('X-Uid') || '-',\n res.getHeader('X-Token') || '-'\n ].join(' ')\n);\n\nmorgan.token(\n 'tracer',\n (req, res) =>\n [\n res.getHeader('X-Service-Name') || '-',\n res.getHeader('X-B3-SpanId') || '-',\n res.getHeader('X-B3-TraceId') || '-',\n res.getHeader('X-B3-ParentSpanId') || '-',\n res.getHeader('X-B3-Sampled') || '-'\n ].join(' ')\n);\n\n\n/**\n * @param logger {Logger}\n * @returns {function()}\n * @constructor\n */\nfunction DebugMiddleware(logger) {\n return () =>\n morgan(\n ':real-ip - :remote-user [:date[clf]] \":method :url HTTP/:http-version\" :status :res[content-length] \":referrer\" \":user-agent\" ' +\n '\":remote-addr\" :host :response-time - :http-version :port :hostname - :tokens :tracer %s',\n {\n stream: {\n write: (message) => {\n logger.info(message);\n }\n }\n }\n );\n}\n\nDependencies(Logger)(DebugMiddleware); //eslint-disable-line new-cap\nexport default DebugMiddleware;\n"]}
|
package/lib/middlewares/index.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ValidatorMiddleware = exports.ViewCacheMiddleware = exports.TraceMiddleware = exports.SessionMiddleware = exports.DebugMiddleware = exports.AuthKongMiddleware = exports.AuthMiddleware = undefined;
|
|
7
|
-
|
|
8
|
-
var _auth = require('./auth');
|
|
9
|
-
|
|
10
|
-
var _auth2 = _interopRequireDefault(_auth);
|
|
11
|
-
|
|
12
|
-
var _auth_kong = require('./auth_kong');
|
|
13
|
-
|
|
14
|
-
var _auth_kong2 = _interopRequireDefault(_auth_kong);
|
|
15
|
-
|
|
16
|
-
var _debug = require('./debug');
|
|
17
|
-
|
|
18
|
-
var _debug2 = _interopRequireDefault(_debug);
|
|
19
|
-
|
|
20
|
-
var _session = require('./session');
|
|
21
|
-
|
|
22
|
-
var _session2 = _interopRequireDefault(_session);
|
|
23
|
-
|
|
24
|
-
var _trace = require('./trace');
|
|
25
|
-
|
|
26
|
-
var _trace2 = _interopRequireDefault(_trace);
|
|
27
|
-
|
|
28
|
-
var _view_cache = require('./view_cache');
|
|
29
|
-
|
|
30
|
-
var _view_cache2 = _interopRequireDefault(_view_cache);
|
|
31
|
-
|
|
32
|
-
var _validator = require('./validator');
|
|
33
|
-
|
|
34
|
-
var _validator2 = _interopRequireDefault(_validator);
|
|
35
|
-
|
|
36
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
-
|
|
38
|
-
exports.AuthMiddleware = _auth2.default;
|
|
39
|
-
exports.AuthKongMiddleware = _auth_kong2.default;
|
|
40
|
-
exports.DebugMiddleware = _debug2.default;
|
|
41
|
-
exports.SessionMiddleware = _session2.default;
|
|
42
|
-
exports.TraceMiddleware = _trace2.default;
|
|
43
|
-
exports.ViewCacheMiddleware = _view_cache2.default;
|
|
44
|
-
exports.ValidatorMiddleware = _validator2.default;
|
|
45
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middlewares/index.js"],"names":["AuthMiddleware","AuthKongMiddleware","DebugMiddleware","SessionMiddleware","TraceMiddleware","ViewCacheMiddleware","ValidatorMiddleware"],"mappings":";;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;QAGEA,c,GAAAA,c;QACAC,kB,GAAAA,mB;QACAC,e,GAAAA,e;QACAC,iB,GAAAA,iB;QACAC,e,GAAAA,e;QACAC,mB,GAAAA,oB;QACAC,mB,GAAAA,mB","file":"index.js","sourcesContent":["import AuthMiddleware from './auth';\nimport AuthKongMiddleware from './auth_kong';\nimport DebugMiddleware from './debug';\nimport SessionMiddleware from './session';\nimport TraceMiddleware from './trace';\nimport ViewCacheMiddleware from './view_cache';\nimport ValidatorMiddleware from './validator';\n\nexport {\n AuthMiddleware,\n AuthKongMiddleware,\n DebugMiddleware,\n SessionMiddleware,\n TraceMiddleware,\n ViewCacheMiddleware,\n ValidatorMiddleware\n};\n\n"]}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ValidatorMiddlewareProvider = exports.TraceMiddlewareProvider = exports.ViewCacheMiddlewareProvider = exports.DebugMiddlewareProvider = exports.AuthMiddlewareProvider = exports.SessionMiddlewareProvider = undefined;
|
|
7
|
-
|
|
8
|
-
var _session = require('../middlewares/session');
|
|
9
|
-
|
|
10
|
-
var _session2 = _interopRequireDefault(_session);
|
|
11
|
-
|
|
12
|
-
var _auth = require('../middlewares/auth');
|
|
13
|
-
|
|
14
|
-
var _auth2 = _interopRequireDefault(_auth);
|
|
15
|
-
|
|
16
|
-
var _auth_kong = require('../middlewares/auth_kong');
|
|
17
|
-
|
|
18
|
-
var _auth_kong2 = _interopRequireDefault(_auth_kong);
|
|
19
|
-
|
|
20
|
-
var _debug = require('../middlewares/debug');
|
|
21
|
-
|
|
22
|
-
var _debug2 = _interopRequireDefault(_debug);
|
|
23
|
-
|
|
24
|
-
var _trace = require('../middlewares/trace');
|
|
25
|
-
|
|
26
|
-
var _trace2 = _interopRequireDefault(_trace);
|
|
27
|
-
|
|
28
|
-
var _view_cache = require('../middlewares/view_cache');
|
|
29
|
-
|
|
30
|
-
var _view_cache2 = _interopRequireDefault(_view_cache);
|
|
31
|
-
|
|
32
|
-
var _validator = require('../middlewares/validator');
|
|
33
|
-
|
|
34
|
-
var _validator2 = _interopRequireDefault(_validator);
|
|
35
|
-
|
|
36
|
-
var _di = require('../di');
|
|
37
|
-
|
|
38
|
-
var _di2 = _interopRequireDefault(_di);
|
|
39
|
-
|
|
40
|
-
var _providers = require('../services/providers');
|
|
41
|
-
|
|
42
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
|
-
|
|
44
|
-
let SessionMiddlewareProvider = exports.SessionMiddlewareProvider = class SessionMiddlewareProvider extends _providers.ServiceProvider {
|
|
45
|
-
get name() {
|
|
46
|
-
return 'session';
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
register() {
|
|
50
|
-
_di2.default.bindMethod(this.name, _session2.default);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
let AuthMiddlewareProvider = exports.AuthMiddlewareProvider = class AuthMiddlewareProvider extends _providers.ServiceProvider {
|
|
54
|
-
get name() {
|
|
55
|
-
return 'auth';
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
register() {
|
|
59
|
-
if (_di2.default.get('config').get('token.provider') === 'kong') {
|
|
60
|
-
_di2.default.bindMethod(this.name, _auth_kong2.default);
|
|
61
|
-
} else {
|
|
62
|
-
_di2.default.bindMethod(this.name, _auth2.default);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
let DebugMiddlewareProvider = exports.DebugMiddlewareProvider = class DebugMiddlewareProvider extends _providers.ServiceProvider {
|
|
67
|
-
get name() {
|
|
68
|
-
return 'debug';
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
register() {
|
|
72
|
-
_di2.default.bindMethod(this.name, _debug2.default);
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
let ViewCacheMiddlewareProvider = exports.ViewCacheMiddlewareProvider = class ViewCacheMiddlewareProvider extends _providers.ServiceProvider {
|
|
76
|
-
get name() {
|
|
77
|
-
return 'view_cache';
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
register() {
|
|
81
|
-
_di2.default.bindMethod(this.name, _view_cache2.default);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
let TraceMiddlewareProvider = exports.TraceMiddlewareProvider = class TraceMiddlewareProvider extends _providers.ServiceProvider {
|
|
85
|
-
get name() {
|
|
86
|
-
return 'trace';
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
register() {
|
|
90
|
-
_di2.default.bindMethod(this.name, _trace2.default);
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
let ValidatorMiddlewareProvider = exports.ValidatorMiddlewareProvider = class ValidatorMiddlewareProvider extends _providers.ServiceProvider {
|
|
94
|
-
get name() {
|
|
95
|
-
return 'validator';
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
register() {
|
|
99
|
-
_di2.default.bindMethod(this.name, _validator2.default);
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=providers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middlewares/providers.js"],"names":["SessionMiddlewareProvider","ServiceProvider","name","register","DI","bindMethod","SessionMiddleware","AuthMiddlewareProvider","get","AuthKongMiddleware","AuthMiddleware","DebugMiddlewareProvider","DebugMiddleware","ViewCacheMiddlewareProvider","ViewCacheMiddleware","TraceMiddlewareProvider","TraceMiddleware","ValidatorMiddlewareProvider","ValidatorMiddleware"],"mappings":";;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;IAEaA,yB,WAAAA,yB,GAAN,MAAMA,yBAAN,SAAwCC,0BAAxC,CAAwD;AAC7D,MAAIC,IAAJ,GAAW;AACT,WAAO,SAAP;AACD;;AAEDC,aAAW;AACTC,iBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBI,iBAAzB;AACD;AAP4D,C;IAUlDC,sB,WAAAA,sB,GAAN,MAAMA,sBAAN,SAAqCN,0BAArC,CAAqD;AAC1D,MAAIC,IAAJ,GAAW;AACT,WAAO,MAAP;AACD;;AAEDC,aAAW;AACT,QAAIC,aAAGI,GAAH,CAAO,QAAP,EAAiBA,GAAjB,CAAqB,gBAArB,MAA2C,MAA/C,EAAuD;AACrDJ,mBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBO,mBAAzB;AACD,KAFD,MAEO;AACLL,mBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBQ,cAAzB;AACD;AACF;AAXyD,C;IAc/CC,uB,WAAAA,uB,GAAN,MAAMA,uBAAN,SAAsCV,0BAAtC,CAAsD;AAC3D,MAAIC,IAAJ,GAAW;AACT,WAAO,OAAP;AACD;;AAEDC,aAAW;AACTC,iBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBU,eAAzB;AACD;AAP0D,C;IAUhDC,2B,WAAAA,2B,GAAN,MAAMA,2BAAN,SAA0CZ,0BAA1C,CAA0D;AAC/D,MAAIC,IAAJ,GAAW;AACT,WAAO,YAAP;AACD;;AAEDC,aAAW;AACTC,iBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBY,oBAAzB;AACD;AAP8D,C;IAUpDC,uB,WAAAA,uB,GAAN,MAAMA,uBAAN,SAAsCd,0BAAtC,CAAsD;AAC3D,MAAIC,IAAJ,GAAW;AACT,WAAO,OAAP;AACD;;AAEDC,aAAW;AACTC,iBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBc,eAAzB;AACD;AAP0D,C;IAUhDC,2B,WAAAA,2B,GAAN,MAAMA,2BAAN,SAA0ChB,0BAA1C,CAA0D;AAC/D,MAAIC,IAAJ,GAAW;AACT,WAAO,WAAP;AACD;;AAEDC,aAAW;AACTC,iBAAGC,UAAH,CAAc,KAAKH,IAAnB,EAAyBgB,mBAAzB;AACD;AAP8D,C","file":"providers.js","sourcesContent":["import SessionMiddleware from '../middlewares/session';\nimport AuthMiddleware from '../middlewares/auth';\nimport AuthKongMiddleware from '../middlewares/auth_kong';\nimport DebugMiddleware from '../middlewares/debug';\nimport TraceMiddleware from '../middlewares/trace';\nimport ViewCacheMiddleware from '../middlewares/view_cache';\nimport ValidatorMiddleware from '../middlewares/validator';\nimport DI from '../di';\nimport { ServiceProvider } from '../services/providers';\n\nexport class SessionMiddlewareProvider extends ServiceProvider {\n get name() {\n return 'session';\n }\n\n register() {\n DI.bindMethod(this.name, SessionMiddleware);\n }\n}\n\nexport class AuthMiddlewareProvider extends ServiceProvider {\n get name() {\n return 'auth';\n }\n\n register() {\n if (DI.get('config').get('token.provider') === 'kong') {\n DI.bindMethod(this.name, AuthKongMiddleware);\n } else {\n DI.bindMethod(this.name, AuthMiddleware);\n }\n }\n}\n\nexport class DebugMiddlewareProvider extends ServiceProvider {\n get name() {\n return 'debug';\n }\n\n register() {\n DI.bindMethod(this.name, DebugMiddleware);\n }\n}\n\nexport class ViewCacheMiddlewareProvider extends ServiceProvider {\n get name() {\n return 'view_cache';\n }\n\n register() {\n DI.bindMethod(this.name, ViewCacheMiddleware);\n }\n}\n\nexport class TraceMiddlewareProvider extends ServiceProvider {\n get name() {\n return 'trace';\n }\n\n register() {\n DI.bindMethod(this.name, TraceMiddleware);\n }\n}\n\nexport class ValidatorMiddlewareProvider extends ServiceProvider {\n get name() {\n return 'validator';\n }\n\n register() {\n DI.bindMethod(this.name, ValidatorMiddleware);\n }\n}\n"]}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _expressSession = require('express-session');
|
|
8
|
-
|
|
9
|
-
var _expressSession2 = _interopRequireDefault(_expressSession);
|
|
10
|
-
|
|
11
|
-
var _connectRedis = require('connect-redis');
|
|
12
|
-
|
|
13
|
-
var _connectRedis2 = _interopRequireDefault(_connectRedis);
|
|
14
|
-
|
|
15
|
-
var _constitute = require('constitute');
|
|
16
|
-
|
|
17
|
-
var _config2 = require('../services/config');
|
|
18
|
-
|
|
19
|
-
var _config3 = _interopRequireDefault(_config2);
|
|
20
|
-
|
|
21
|
-
var _redis = require('../services/redis');
|
|
22
|
-
|
|
23
|
-
var _redis2 = _interopRequireDefault(_redis);
|
|
24
|
-
|
|
25
|
-
var _namespace = require('../services/namespace');
|
|
26
|
-
|
|
27
|
-
var _namespace2 = _interopRequireDefault(_namespace);
|
|
28
|
-
|
|
29
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
30
|
-
|
|
31
|
-
let middleware = null;
|
|
32
|
-
|
|
33
|
-
//Fix issue https://github.com/othiym23/node-continuation-local-storage/issues/29
|
|
34
|
-
const clsifyMiddleware = (fn, ns) => (req, res, next) => fn.call(undefined, req, res, ns.bind(next));
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @param _config {Config}
|
|
38
|
-
* @param redis {Redis}
|
|
39
|
-
* @param namespace {Namespace}
|
|
40
|
-
* @returns {function()}
|
|
41
|
-
* @constructor
|
|
42
|
-
*/
|
|
43
|
-
function SessionMiddleware(_config, redis, namespace) {
|
|
44
|
-
return () => {
|
|
45
|
-
if (middleware) {
|
|
46
|
-
return middleware;
|
|
47
|
-
}
|
|
48
|
-
const RedisStore = (0, _connectRedis2.default)(_expressSession2.default);
|
|
49
|
-
let store = null;
|
|
50
|
-
const config = _config.get().session;
|
|
51
|
-
|
|
52
|
-
if (config.store) {
|
|
53
|
-
const RedisClient = new RedisStore(Object.assign({}, config.store));
|
|
54
|
-
RedisClient.client.on('error', err => {
|
|
55
|
-
throw err;
|
|
56
|
-
});
|
|
57
|
-
store = RedisClient;
|
|
58
|
-
} else {
|
|
59
|
-
store = new RedisStore(Object.assign({}, { client: redis.getInstance() }));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
middleware = (0, _expressSession2.default)({
|
|
63
|
-
store,
|
|
64
|
-
cookie: Object.assign({}, _config.get().cookie),
|
|
65
|
-
secret: config.secret,
|
|
66
|
-
resave: config.resave,
|
|
67
|
-
saveUninitialized: config.saveUninitialized
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
return namespace.isEnabled() ? clsifyMiddleware(middleware, namespace.use().getContext()) : middleware;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
(0, _constitute.Dependencies)(_config3.default, _redis2.default, _namespace2.default)(SessionMiddleware); //eslint-disable-line new-cap
|
|
74
|
-
|
|
75
|
-
exports.default = SessionMiddleware;
|
|
76
|
-
//# sourceMappingURL=session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/middlewares/session.js"],"names":["middleware","clsifyMiddleware","fn","ns","req","res","next","call","bind","SessionMiddleware","_config","redis","namespace","RedisStore","session","store","config","get","RedisClient","Object","assign","client","on","err","getInstance","cookie","secret","resave","saveUninitialized","isEnabled","use","getContext","Config","Redis","Namespace"],"mappings":";;;;;;AAAA;;;;AACA;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;;;AAEA,IAAIA,aAAa,IAAjB;;AAEA;AACA,MAAMC,mBAAmB,CAACC,EAAD,EAAKC,EAAL,KACvB,CAACC,GAAD,EAAMC,GAAN,EAAWC,IAAX,KACEJ,GAAGK,IAAH,YAAcH,GAAd,EAAmBC,GAAnB,EAAwBF,GAAGK,IAAH,CAAQF,IAAR,CAAxB,CAFJ;;AAIA;;;;;;;AAOA,SAASG,iBAAT,CAA2BC,OAA3B,EAAoCC,KAApC,EAA2CC,SAA3C,EAAsD;AACpD,SAAO,MAAM;AACX,QAAIZ,UAAJ,EAAgB;AACd,aAAOA,UAAP;AACD;AACD,UAAMa,aAAa,4BAAaC,wBAAb,CAAnB;AACA,QAAIC,QAAQ,IAAZ;AACA,UAAMC,SAASN,QAAQO,GAAR,GAAcH,OAA7B;;AAEA,QAAIE,OAAOD,KAAX,EAAkB;AAChB,YAAMG,cAAc,IAAIL,UAAJ,CAAeM,OAAOC,MAAP,CAAc,EAAd,EAAkBJ,OAAOD,KAAzB,CAAf,CAApB;AACAG,kBAAYG,MAAZ,CAAmBC,EAAnB,CAAsB,OAAtB,EAAgCC,GAAD,IAAS;AACtC,cAAMA,GAAN;AACD,OAFD;AAGAR,cAAQG,WAAR;AACD,KAND,MAMO;AACLH,cAAQ,IAAIF,UAAJ,CAAeM,OAAOC,MAAP,CAAc,EAAd,EAAkB,EAAEC,QAAQV,MAAMa,WAAN,EAAV,EAAlB,CAAf,CAAR;AACD;;AAEDxB,iBAAa,8BAAQ;AACnBe,WADmB;AAEnBU,cAAQN,OAAOC,MAAP,CAAc,EAAd,EAAkBV,QAAQO,GAAR,GAAcQ,MAAhC,CAFW;AAGnBC,cAAQV,OAAOU,MAHI;AAInBC,cAAQX,OAAOW,MAJI;AAKnBC,yBAAmBZ,OAAOY;AALP,KAAR,CAAb;;AAQA,WAAOhB,UAAUiB,SAAV,KACL5B,iBAAiBD,UAAjB,EAA6BY,UAAUkB,GAAV,GAAgBC,UAAhB,EAA7B,CADK,GAEL/B,UAFF;AAGD,GA7BD;AA8BD;AACD,8BAAagC,gBAAb,EAAqBC,eAArB,EAA4BC,mBAA5B,EAAuCzB,iBAAvC,E,CAA2D;;kBAE5CA,iB","file":"session.js","sourcesContent":["import session from 'express-session';\nimport connectRedis from 'connect-redis';\nimport { Dependencies } from 'constitute';\nimport Config from '../services/config';\nimport Redis from '../services/redis';\nimport Namespace from '../services/namespace';\n\nlet middleware = null;\n\n//Fix issue https://github.com/othiym23/node-continuation-local-storage/issues/29\nconst clsifyMiddleware = (fn, ns) =>\n (req, res, next) =>\n fn.call(this, req, res, ns.bind(next));\n\n/**\n * @param _config {Config}\n * @param redis {Redis}\n * @param namespace {Namespace}\n * @returns {function()}\n * @constructor\n */\nfunction SessionMiddleware(_config, redis, namespace) {\n return () => {\n if (middleware) {\n return middleware;\n }\n const RedisStore = connectRedis(session);\n let store = null;\n const config = _config.get().session;\n\n if (config.store) {\n const RedisClient = new RedisStore(Object.assign({}, config.store));\n RedisClient.client.on('error', (err) => {\n throw err;\n });\n store = RedisClient;\n } else {\n store = new RedisStore(Object.assign({}, { client: redis.getInstance() }));\n }\n\n middleware = session({\n store,\n cookie: Object.assign({}, _config.get().cookie),\n secret: config.secret,\n resave: config.resave,\n saveUninitialized: config.saveUninitialized\n });\n\n return namespace.isEnabled() ?\n clsifyMiddleware(middleware, namespace.use().getContext()) :\n middleware;\n };\n}\nDependencies(Config, Redis, Namespace)(SessionMiddleware); //eslint-disable-line new-cap\n\nexport default SessionMiddleware;\n"]}
|