1- import { createClient } from '@redis/client' ;
21import merge from 'deepmerge' ;
32import type { NextFunction , Response } from 'express' ;
43import mongoose from 'mongoose' ;
@@ -12,6 +11,7 @@ import {
1211 RateLimiterRedis ,
1312} from 'rate-limiter-flexible' ;
1413import type rateLimiterConfig from '../../../config/rateLimiter.js' ;
14+ import { getRedisClientSync } from '../../../helpers/redis/redisConnection.ts' ;
1515import type { IApp } from '../../../server.ts' ;
1616import type { FrameworkRequest } from '../HttpServer.ts' ;
1717import AbstractMiddleware from './AbstractMiddleware.ts' ;
@@ -59,26 +59,7 @@ class RateLimiter extends AbstractMiddleware {
5959 }
6060
6161 initRedisLimiter ( ) {
62- const redisConfig = this . app . getConfig ( 'redis' ) ;
63- const redisClient = createClient ( {
64- url : redisConfig . url as string ,
65- } ) ;
66-
67- // TODO: change it
68- ( async ( ) => {
69- await redisClient . connect ( ) ;
70- } ) ( ) ;
71-
72- redisClient . on ( 'error' , ( error , b , c ) => {
73- this . logger ?. error ( error , b , c ) ;
74- } ) ;
75- redisClient . on ( 'connect' , ( ) => {
76- this . logger ?. info ( 'Redis connection success' ) ;
77- } ) ;
78-
79- this . app . events . on ( 'shutdown' , async ( ) => {
80- await redisClient . close ( ) ;
81- } ) ;
62+ const redisClient = getRedisClientSync ( ) ;
8263
8364 return new RateLimiterRedis ( {
8465 storeClient : redisClient ,
0 commit comments