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 4153e3702e
commit 6632c4127a
No known key found for this signature in database
GPG Key ID: 08C535E25F5FD68E
1 changed files with 11 additions and 4 deletions

View File

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