This commit is contained in:
JakkrapartXD 2026-01-14 04:33:21 +00:00
parent 563564ee58
commit e7ea035a9e
2 changed files with 22 additions and 6 deletions

View file

@ -11,10 +11,25 @@ import { RegisterRoutes } from './routes/routes';
export function createApp(): Application { export function createApp(): Application {
const app = express(); const app = express();
// Security middleware // Security middleware - Disable CSP for Swagger UI
app.use(helmet()); app.use(helmet({
contentSecurityPolicy: false
}));
// CORS - Allow multiple origins
const allowedOrigins = config.cors.origin.split(',').map(o => o.trim());
app.use(cors({ app.use(cors({
origin: config.cors.origin, origin: (origin, callback) => {
// Allow requests with no origin (like mobile apps, Postman, curl)
if (!origin) return callback(null, true);
// Check if origin is allowed
if (allowedOrigins.includes('*') || allowedOrigins.includes(origin)) {
callback(null, true);
} else {
callback(new Error('Not allowed by CORS'));
}
},
credentials: true credentials: true
})); }));

View file

@ -13,9 +13,10 @@ async function startServer() {
// Create Express app // Create Express app
const app = createApp(); const app = createApp();
// Start server // Start server - Listen on all network interfaces
const server = app.listen(config.port, () => { const server = app.listen(config.port, '0.0.0.0', () => {
logger.info(`Server running on ${config.appUrl}`); logger.info(`Server running on ${config.appUrl}`)
logger.info(`Server also accessible at http://0.0.0.0:${config.port}`);
logger.info(`Environment: ${config.nodeEnv}`); logger.info(`Environment: ${config.nodeEnv}`);
logger.info(`Swagger docs available at ${config.appUrl}/api-docs`); logger.info(`Swagger docs available at ${config.appUrl}/api-docs`);
}); });