Allow fully qualified redis url use in koa ratelimit store

This commit is contained in:
Ilia Shupta 2022-03-15 13:44:43 +08:00
parent 36f0de889e
commit 91d9946c5c
1 changed files with 11 additions and 4 deletions

View File

@ -31,16 +31,23 @@ function getApiLimitPerSecond(): number {
if (!env.isTest()) {
const REDIS_OPTS = getRedisOptions()
RateLimit.defaultOptions({
store: new Stores.Redis({
// @ts-ignore
let options
if (REDIS_OPTS.redisProtocolUrl) { // fully qualified redis URL
options = {
url: REDIS_OPTS.redisProtocolUrl,
}
} else {
options = {
socket: {
host: REDIS_OPTS.host,
port: REDIS_OPTS.port,
},
password: REDIS_OPTS.opts.password,
database: 1,
}),
}
}
RateLimit.defaultOptions({
store: new Stores.Redis(options)
})
}
// rate limiting, allows for 2 requests per second