From e22d31e6ee6608a324748ff419b61094bc9199bd Mon Sep 17 00:00:00 2001 From: Stanislav Ratashnyuk Date: Mon, 17 Nov 2025 23:22:30 +0000 Subject: [PATCH] 1401 Enable SSL server --- packages/redux-devtools-cli/src/index.ts | 5 ++-- .../src/utils/create-server.ts | 25 +++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 packages/redux-devtools-cli/src/utils/create-server.ts diff --git a/packages/redux-devtools-cli/src/index.ts b/packages/redux-devtools-cli/src/index.ts index c5e1f2f208..c5bad2b44c 100644 --- a/packages/redux-devtools-cli/src/index.ts +++ b/packages/redux-devtools-cli/src/index.ts @@ -1,10 +1,10 @@ import express from 'express'; -import http from 'http'; import getPort from 'get-port'; import socketClusterServer from 'socketcluster-server'; import getOptions from './options.js'; import routes from './routes.js'; import createStore from './store.js'; +import { createServer } from './utils/create-server.js'; // const LOG_LEVEL_NONE = 0; // const LOG_LEVEL_ERROR = 1; @@ -37,7 +37,8 @@ export default async function (argv: { [arg: string]: any }): Promise<{ console.log('[ReduxDevTools] Start server...'); console.log('-'.repeat(80) + '\n'); } - const httpServer = http.createServer(); + + const httpServer = createServer(argv); const agServer = socketClusterServer.attach(httpServer, options); const app = express(); diff --git a/packages/redux-devtools-cli/src/utils/create-server.ts b/packages/redux-devtools-cli/src/utils/create-server.ts new file mode 100644 index 0000000000..17ecc4f47b --- /dev/null +++ b/packages/redux-devtools-cli/src/utils/create-server.ts @@ -0,0 +1,25 @@ +import http from 'http'; +import https from 'https'; + +export const createServer = (argv: { [arg: string]: unknown }): http.Server | https.Server => { + const typedArgv = argv as { + protocol: string; + key: string; + cert: string; + }; + + let result; + + if (typedArgv.protocol === 'https') { + const options = { + key: typedArgv.key, + cert: typedArgv.cert, + }; + + result = https.createServer(options); + } else { + result = http.createServer(); + } + + return result; +} \ No newline at end of file