Skip to content

Commit f73cc36

Browse files
feat: adding tls capability on epicurous
1 parent f4333b2 commit f73cc36

3 files changed

Lines changed: 21 additions & 5 deletions

File tree

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ts/index.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,21 @@ import * as redis from 'redis'
55
import * as bluebird from 'bluebird'
66
bluebird.promisifyAll(redis.RedisClient.prototype)
77
bluebird.promisifyAll(redis.Multi.prototype)
8+
const REDIS_TLS_HOST = 'rediss'
9+
10+
function getConfig(redisConfig: EpicurusRedisConfig) {
11+
if (redisConfig.url && redisConfig.url.includes(REDIS_TLS_HOST)) {
12+
return {
13+
tls: {
14+
...redisConfig,
15+
rejectUnauthorized: true
16+
}
17+
}
18+
} else {
19+
return redisConfig
20+
}
21+
22+
}
823

924
export default function Epicurus (redisConfig: EpicurusRedisConfig = {
1025
host: 'localhost',
@@ -13,8 +28,8 @@ export default function Epicurus (redisConfig: EpicurusRedisConfig = {
1328
// A separate subscription Redis client is required as once a client has
1429
// called SUBSCRIBE, it is put into a slave mode the does not allow any other
1530
// kind of action
16-
const redisClient = redis.createClient(redisConfig)
17-
const redisSub = redis.createClient(redisConfig)
31+
const redisClient = redis.createClient(getConfig(redisConfig))
32+
const redisSub = redis.createClient(getConfig(redisConfig))
1833

1934
setupSubscriptionListener(redisSub)
2035
enableServers()

ts/interface.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export interface EpicurusResponse {
1717
}
1818

1919
export interface EpicurusRedisConfig {
20-
host: string
21-
port: number
20+
host?: string
21+
port?: number,
22+
url?: string
2223
}

0 commit comments

Comments
 (0)