Refactor CORS origin handling in index.js to support multiple origins using a Set for uniqueness. Log allowed origins during server initialization for better visibility and debugging.

This commit is contained in:
Tom Butcher 2026-08-02 01:18:05 +01:00
parent 87256257d7
commit 627de41cca

View File

@ -81,9 +81,15 @@ logger.level = config.server.logLevel;
app.use(log4js.connectLogger(logger, { level: 'trace' })); app.use(log4js.connectLogger(logger, { level: 'trace' }));
const allowedOrigins = const allowedOrigins = [
config.server.corsOrigins || ...new Set(
[config.app.urlClient, config.app.urlElectronClient].filter(Boolean); [
...(config.server.corsOrigins || []),
config.app.urlClient,
config.app.urlElectronClient,
].filter(Boolean)
),
];
const corsOptions = { const corsOptions = {
origin: function (origin, callback) { origin: function (origin, callback) {
if (!origin) return callback(null, true); if (!origin) return callback(null, true);
@ -120,6 +126,7 @@ async function initializeApp() {
// Start server // Start server
app.listen(PORT, () => logger.info(`Server listening to port ${PORT}`)); app.listen(PORT, () => logger.info(`Server listening to port ${PORT}`));
logger.info(`Allowed origins: ${allowedOrigins.join(', ')}`);
} catch (err) { } catch (err) {
logger.error('Failed to initialize application:', err); logger.error('Failed to initialize application:', err);
process.exit(1); process.exit(1);