From 7599eac5786318a6d8df7907733b80a93a6622fd Mon Sep 17 00:00:00 2001 From: pablomendezroyo Date: Fri, 8 Nov 2024 14:06:43 +0100 Subject: [PATCH] use firs item from origins array --- .../src/modules/apiServers/brain/startBrainApi.ts | 2 +- packages/brain/src/modules/apiServers/index.ts | 2 +- .../modules/apiServers/launchpad/startLaunchpadApi.ts | 2 +- .../brain/src/modules/apiServers/ui/startUiServer.ts | 2 +- packages/brain/src/modules/config/loadEnvs.ts | 11 +++++++++-- packages/brain/src/modules/config/types.ts | 2 +- 6 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/brain/src/modules/apiServers/brain/startBrainApi.ts b/packages/brain/src/modules/apiServers/brain/startBrainApi.ts index 987b1f19..53094b6e 100644 --- a/packages/brain/src/modules/apiServers/brain/startBrainApi.ts +++ b/packages/brain/src/modules/apiServers/brain/startBrainApi.ts @@ -12,7 +12,7 @@ export function startBrainApi({ allowedOriginsFromEnv }: { brainDb: BrainDataBase; - allowedOriginsFromEnv: string[] | null; + allowedOriginsFromEnv: string | string[] | null; }): http.Server { const app = express(); app.use(express.json()); diff --git a/packages/brain/src/modules/apiServers/index.ts b/packages/brain/src/modules/apiServers/index.ts index d30a6ffd..00feb91f 100644 --- a/packages/brain/src/modules/apiServers/index.ts +++ b/packages/brain/src/modules/apiServers/index.ts @@ -32,7 +32,7 @@ export const getServers = ({ beaconchainApi: BeaconchainApi; brainDb: BrainDataBase; reloadValidatorsCronTask: CronJob; - allowedOriginsFromEnv: string[] | null; + allowedOriginsFromEnv: string | string[] | null; }): { uiServer: http.Server; launchpadServer: http.Server; diff --git a/packages/brain/src/modules/apiServers/launchpad/startLaunchpadApi.ts b/packages/brain/src/modules/apiServers/launchpad/startLaunchpadApi.ts index 7355a636..28b23a0b 100644 --- a/packages/brain/src/modules/apiServers/launchpad/startLaunchpadApi.ts +++ b/packages/brain/src/modules/apiServers/launchpad/startLaunchpadApi.ts @@ -29,7 +29,7 @@ export function startLaunchpadApi({ brainDb: BrainDataBase; network: Network; signerUrl: string; - allowedOriginsFromEnv: string[] | null; + allowedOriginsFromEnv: string | string[] | null; }): http.Server { const app = express(); app.use(express.json()); diff --git a/packages/brain/src/modules/apiServers/ui/startUiServer.ts b/packages/brain/src/modules/apiServers/ui/startUiServer.ts index a3eac7fd..1fdab803 100644 --- a/packages/brain/src/modules/apiServers/ui/startUiServer.ts +++ b/packages/brain/src/modules/apiServers/ui/startUiServer.ts @@ -51,7 +51,7 @@ export function startUiServer({ uiBuildPath: string; brainConfig: BrainConfig; reloadValidatorsCronTask: CronJob; - allowedOriginsFromEnv: string[] | null; + allowedOriginsFromEnv: string | string[] | null; }): http.Server { const { network } = brainConfig.chain; // create index.html modified with network diff --git a/packages/brain/src/modules/config/loadEnvs.ts b/packages/brain/src/modules/config/loadEnvs.ts index 3bbd0d01..dcbb0424 100644 --- a/packages/brain/src/modules/config/loadEnvs.ts +++ b/packages/brain/src/modules/config/loadEnvs.ts @@ -5,7 +5,7 @@ export function loadEnvs(): { executionClient: ExecutionClient; consensusClient: ConsensusClient; isMevBoostSet: boolean; - cors: string[] | null; + cors: string | string[] | null; } { const network = getNetwork(); @@ -14,12 +14,19 @@ export function loadEnvs(): { const isMevBoostSet = process.env[`_DAPPNODE_GLOBAL_MEVBOOST_${network.toUpperCase()}`] === "true"; + const origins = process.env.CORS ? process.env.CORS.split(",") : null; + let cors: string | string[] | null = null; + if (origins) { + if (origins.length > 1) cors = origins; + else if (origins.length === 1) cors = origins[0]; + } + return { network: network as Network, executionClient, consensusClient, isMevBoostSet, - cors: process.env.CORS ? process.env.CORS.split(",") : null + cors }; } diff --git a/packages/brain/src/modules/config/types.ts b/packages/brain/src/modules/config/types.ts index e71ed21c..c148e27d 100644 --- a/packages/brain/src/modules/config/types.ts +++ b/packages/brain/src/modules/config/types.ts @@ -17,7 +17,7 @@ export interface ApisConfig { token: string; tlsCert: Buffer | null; host: string; - cors: string[] | null; + cors: string | string[] | null; } export interface ChainConfig {