From 96d129282a90938d340963e6de1d5254b2f7b564 Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Tue, 20 Feb 2024 17:30:15 +0000 Subject: [PATCH] reimplement rtengine redis auth --- src/server/classes/index.js | 1 + .../classes/{RTEngine => rtengine}/index.js | 32 ++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) rename src/server/classes/{RTEngine => rtengine}/index.js (88%) diff --git a/src/server/classes/index.js b/src/server/classes/index.js index 2cf77b9..1b9fc52 100644 --- a/src/server/classes/index.js +++ b/src/server/classes/index.js @@ -1,4 +1,5 @@ module.exports = { Controller: require("./controller"), Endpoint: require("./endpoint"), + RTEngine: require("./rtengine"), } \ No newline at end of file diff --git a/src/server/classes/RTEngine/index.js b/src/server/classes/rtengine/index.js similarity index 88% rename from src/server/classes/RTEngine/index.js rename to src/server/classes/rtengine/index.js index 6f3dba5..bbfc3cd 100644 --- a/src/server/classes/RTEngine/index.js +++ b/src/server/classes/rtengine/index.js @@ -198,7 +198,7 @@ export default class RTEngineServer { return socket } - async initialize() { + async initialize({ host, port, username, password, db } = {}) { console.log("🌐 Initializing RTEngine server...") process.on("exit", this.cleanUp) @@ -207,11 +207,35 @@ export default class RTEngineServer { process.on("SIGBREAK", this.cleanUp) process.on("SIGHUP", this.cleanUp) + // fullfill args + if (typeof host === "undefined") { + host = this.params.redis?.host ?? process.env.REDIS_HOST ?? "localhost" + } + + if (typeof port === "undefined") { + port = this.params.redis?.port ?? process.env.REDIS_PORT ?? 6379 + } + + if (typeof username === "undefined") { + username = this.params.redis?.username ?? process.env.REDIS_USERNAME ?? (process.env.REDIS_AUTH && process.env.REDIS_AUTH.split(":")[0]) + } + + if (typeof password === "undefined") { + password = this.params.redis?.password ?? process.env.REDIS_PASSWORD ?? (process.env.REDIS_AUTH && process.env.REDIS_AUTH.split(":")[1]) + } + + if (typeof db === "undefined") { + db = this.params.redis?.db ?? process.env.REDIS_DB ?? 0 + } + // create default servers if (typeof this.redis === "undefined") { - this.redis = new redis(process.env.REDIS_HOST, process.env.REDIS_PORT, { - password: process.env.REDIS_PASSWORD, - db: process.env.REDIS_DB, + this.redis = new redis({ + host, + port, + username: username, + password: password, + db: db, }) }