RSS Git Download  Clone
Raw Blame History 1kB 39 lines
function getDefaultOptionsFromServer(server) {
    const server1 = Array.isArray(server) ? server[0] : server
    if (typeof server1 === 'object' && server1 !== null) {
        return server1
    }
}

module.exports = function(options, server) {
    const serverOptions = getDefaultOptionsFromServer(server)
    //console.log('serverOptions', serverOptions)
    let redisOptions = options.redisOptions
    if (redisOptions === undefined) {
        redisOptions = {}
        options.redisOptions = redisOptions
    }
    if (redisOptions.password === undefined) {
        redisOptions.password = serverOptions.password
    }
    if (serverOptions.tlsWithoutCert) {
        redisOptions.tls =  {
            servername: serverOptions.host
        }
    } else if (typeof serverOptions.tlsCa === 'string' && serverOptions.tlsCa.trim() !== '') {
        redisOptions.tls = {
            cert: serverOptions.tlsCrt,
            key: serverOptions.tlsKey,
            ca: serverOptions.tlsCa,
            servername: serverOptions.host
        }
    }
    if (redisOptions.hasOwnProperty('tls')) {
        redisOptions.tls.rejectUnauthorized = redisOptions.tlsRejectUnauthorized === undefined ? false : redisOptions.tlsRejectUnauthorized 
        if (!redisOptions.tls.hasOwnProperty('servername')) {
            redisOptions.tls.servername = serverOptions.host
        }
    }
    return options
}