not-node 4.0.13 → 4.0.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "not-node",
3
- "version": "4.0.13",
3
+ "version": "4.0.15",
4
4
  "description": "node complimentary part for client side notFramework.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,5 +1,6 @@
1
1
  const emit = require('./additional').run;
2
2
  const log = require('not-log')(module, 'RateLimiter');
3
+ const {partCopyObj} = require('../common');
3
4
 
4
5
  const DEFAULT_OPTIONS = {
5
6
  keyPrefix: 'rateLimiterMiddleware',
@@ -7,6 +8,8 @@ const DEFAULT_OPTIONS = {
7
8
  duration: 1
8
9
  };
9
10
 
11
+ const DEFAULT_CLIENT = 'ioredis';
12
+
10
13
  module.exports = class InitRateLimiter{
11
14
 
12
15
  static createMiddleware({rateLimiter}){
@@ -29,18 +32,20 @@ module.exports = class InitRateLimiter{
29
32
  }
30
33
 
31
34
 
32
- getOptions({config}){
35
+ static getOptions({config}){
36
+ const opts = partCopyObj(config.get('modules.rateLimiter', {}), Object.keys(DEFAULT_OPTIONS));
33
37
  return {
34
38
  ...DEFAULT_OPTIONS,
35
- ...config.get('modules.rateLimiter', {})
39
+ ...opts
36
40
  };
37
41
  }
38
42
 
39
43
  static createRateLimiter({master, config}){
40
44
  const {RateLimiterRedis} = require('rate-limiter-flexible');
45
+ const storeClient = config.get('modules.rateLimiter.client', DEFAULT_CLIENT);
41
46
  return new RateLimiterRedis({
42
- storeClient: master.getEnv('db.redis'),
43
- ...this.getOptions({master, config})
47
+ storeClient: master.getEnv(`db.${storeClient}`),
48
+ ...InitRateLimiter.getOptions({master, config})
44
49
  });
45
50
  }
46
51
  };
@@ -1,17 +1,20 @@
1
1
  const log = require('not-log')(module, 'not-node//init');
2
2
  const ADDS = require('../additional');
3
3
 
4
+ const DEFAULT_CLIENT = 'ioredis';
5
+
4
6
  module.exports = class InitSessionsRedis{
5
7
  async run({config, options, master}) {
6
8
  log.info('Setting up user sessions handler(redis)...');
7
9
  await ADDS.run('sessions.pre', {config, options, master});
8
10
  const expressSession = require('express-session');
9
- const redisClient = master.getEnv('db.redis');
11
+ const storeClient = config.get('session.client', DEFAULT_CLIENT);
12
+ const redisClient = master.getEnv(`db.${storeClient}`);
10
13
  const redisStore = require('connect-redis')(expressSession);
11
14
  master.getServer().use(expressSession({
12
- secret: config.get('session:secret'),
13
- key: config.get('session:key'),
14
- cookie: config.get('session:cookie'),
15
+ secret: config.get('session.secret'),
16
+ key: config.get('session.key'),
17
+ cookie: config.get('session.cookie'),
15
18
  resave: false,
16
19
  saveUninitialized: true,
17
20
  store: new redisStore({