evaengine 0.11.2 → 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.
Files changed (105) hide show
  1. package/.ai/analysis.md +657 -0
  2. package/.ai/architecture/runtime.md +504 -0
  3. package/.ai/contracts/public-api.md +447 -0
  4. package/.ai/external-project-guide.md +248 -0
  5. package/.ai/vision.md +314 -0
  6. package/README.md +51 -62
  7. package/bin/engine +15 -21
  8. package/index.js +2 -18
  9. package/package.json +60 -64
  10. package/src/index.js +57 -0
  11. package/bin/engine-babel +0 -38
  12. package/lib/commands/index.js +0 -25
  13. package/lib/commands/index.js.map +0 -1
  14. package/lib/commands/interface.js +0 -51
  15. package/lib/commands/interface.js.map +0 -1
  16. package/lib/commands/make_entity.js +0 -549
  17. package/lib/commands/make_entity.js.map +0 -1
  18. package/lib/commands/tramp.js +0 -53
  19. package/lib/commands/tramp.js.map +0 -1
  20. package/lib/config/index.js +0 -98
  21. package/lib/config/index.js.map +0 -1
  22. package/lib/di.js +0 -99
  23. package/lib/di.js.map +0 -1
  24. package/lib/engine.js +0 -558
  25. package/lib/engine.js.map +0 -1
  26. package/lib/entities/index.js +0 -283
  27. package/lib/entities/index.js.map +0 -1
  28. package/lib/exceptions/index.js +0 -522
  29. package/lib/exceptions/index.js.map +0 -1
  30. package/lib/index.js +0 -105
  31. package/lib/index.js.map +0 -1
  32. package/lib/middlewares/auth.js +0 -97
  33. package/lib/middlewares/auth.js.map +0 -1
  34. package/lib/middlewares/auth_kong.js +0 -48
  35. package/lib/middlewares/auth_kong.js.map +0 -1
  36. package/lib/middlewares/debug.js +0 -68
  37. package/lib/middlewares/debug.js.map +0 -1
  38. package/lib/middlewares/index.js +0 -45
  39. package/lib/middlewares/index.js.map +0 -1
  40. package/lib/middlewares/providers.js +0 -102
  41. package/lib/middlewares/providers.js.map +0 -1
  42. package/lib/middlewares/session.js +0 -76
  43. package/lib/middlewares/session.js.map +0 -1
  44. package/lib/middlewares/trace.js +0 -241
  45. package/lib/middlewares/trace.js.map +0 -1
  46. package/lib/middlewares/validator.js +0 -71
  47. package/lib/middlewares/validator.js.map +0 -1
  48. package/lib/middlewares/view_cache.js +0 -160
  49. package/lib/middlewares/view_cache.js.map +0 -1
  50. package/lib/services/cache.js +0 -234
  51. package/lib/services/cache.js.map +0 -1
  52. package/lib/services/config.js +0 -140
  53. package/lib/services/config.js.map +0 -1
  54. package/lib/services/env.js +0 -40
  55. package/lib/services/env.js.map +0 -1
  56. package/lib/services/event_manager.js +0 -110
  57. package/lib/services/event_manager.js.map +0 -1
  58. package/lib/services/http_client.js +0 -178
  59. package/lib/services/http_client.js.map +0 -1
  60. package/lib/services/index.js +0 -70
  61. package/lib/services/index.js.map +0 -1
  62. package/lib/services/interface.js +0 -12
  63. package/lib/services/interface.js.map +0 -1
  64. package/lib/services/joi.js +0 -28
  65. package/lib/services/joi.js.map +0 -1
  66. package/lib/services/jwt_token.js +0 -120
  67. package/lib/services/jwt_token.js.map +0 -1
  68. package/lib/services/jwt_token_kong.js +0 -111
  69. package/lib/services/jwt_token_kong.js.map +0 -1
  70. package/lib/services/logger.js +0 -172
  71. package/lib/services/logger.js.map +0 -1
  72. package/lib/services/namespace.js +0 -188
  73. package/lib/services/namespace.js.map +0 -1
  74. package/lib/services/now.js +0 -69
  75. package/lib/services/now.js.map +0 -1
  76. package/lib/services/providers.js +0 -195
  77. package/lib/services/providers.js.map +0 -1
  78. package/lib/services/redis.js +0 -77
  79. package/lib/services/redis.js.map +0 -1
  80. package/lib/services/rest_client.js +0 -136
  81. package/lib/services/rest_client.js.map +0 -1
  82. package/lib/swagger/index.js +0 -684
  83. package/lib/swagger/index.js.map +0 -1
  84. package/lib/utils/api_scaffold.js +0 -253
  85. package/lib/utils/api_scaffold.js.map +0 -1
  86. package/lib/utils/case_converter.js +0 -48
  87. package/lib/utils/case_converter.js.map +0 -1
  88. package/lib/utils/crc32.js +0 -22
  89. package/lib/utils/crc32.js.map +0 -1
  90. package/lib/utils/datetime.js +0 -21
  91. package/lib/utils/datetime.js.map +0 -1
  92. package/lib/utils/host.js +0 -48
  93. package/lib/utils/host.js.map +0 -1
  94. package/lib/utils/index.js +0 -61
  95. package/lib/utils/index.js.map +0 -1
  96. package/lib/utils/pagination.js +0 -269
  97. package/lib/utils/pagination.js.map +0 -1
  98. package/lib/utils/random.js +0 -33
  99. package/lib/utils/random.js.map +0 -1
  100. package/lib/utils/smart_query.js +0 -342
  101. package/lib/utils/smart_query.js.map +0 -1
  102. package/lib/utils/test.js +0 -62
  103. package/lib/utils/test.js.map +0 -1
  104. package/lib/utils/wrapper.js +0 -9
  105. package/lib/utils/wrapper.js.map +0 -1
@@ -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"]}
@@ -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"]}
@@ -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"]}