Browse Source

publishing redis client fix to master

master
Martin McKeaveney 5 years ago
parent
commit
4e08d5a8ea
  1. 5
      packages/auth/src/redis/index.js
  2. 12
      packages/auth/src/redis/utils.js

5
packages/auth/src/redis/index.js

@ -56,9 +56,12 @@ function init() {
if (CLIENT) { if (CLIENT) {
CLIENT.disconnect() CLIENT.disconnect()
} }
const { opts, host, port } = getRedisOptions(CLUSTERED) const { redisProtocolUrl, opts, host, port } = getRedisOptions(CLUSTERED)
if (CLUSTERED) { if (CLUSTERED) {
CLIENT = new Redis.Cluster([{ host, port }], opts) CLIENT = new Redis.Cluster([{ host, port }], opts)
} else if (redisProtocolUrl) {
CLIENT = new Redis(redisProtocolUrl)
} else { } else {
CLIENT = new Redis(opts) CLIENT = new Redis(opts)
} }

12
packages/auth/src/redis/utils.js

@ -18,7 +18,15 @@ exports.Databases = {
exports.SEPARATOR = SEPARATOR exports.SEPARATOR = SEPARATOR
exports.getRedisOptions = (clustered = false) => { exports.getRedisOptions = (clustered = false) => {
const [host, port] = REDIS_URL.split(":") const [host, port, ...rest] = REDIS_URL.split(":")
let redisProtocolUrl
// fully qualified redis URL
if (rest.length && /rediss?/.test(host)) {
redisProtocolUrl = REDIS_URL
}
const opts = { const opts = {
connectTimeout: CONNECT_TIMEOUT_MS, connectTimeout: CONNECT_TIMEOUT_MS,
} }
@ -33,7 +41,7 @@ exports.getRedisOptions = (clustered = false) => {
opts.port = port opts.port = port
opts.password = REDIS_PASSWORD opts.password = REDIS_PASSWORD
} }
return { opts, host, port } return { opts, host, port, redisProtocolUrl }
} }
exports.addDbPrefix = (db, key) => { exports.addDbPrefix = (db, key) => {

Loading…
Cancel
Save