@@ -3,6 +3,7 @@ import express from "express";
33import csrf from "./lib/cross-origin/block-unknown-origin" ;
44import cors from "./lib/cross-origin/multi-origin-cors" ;
55import { initializeSocket } from "./lib/socket/socket" ;
6+ import { allUrlMustBeValid , panic } from "./lib/utils" ;
67import chatRoutes from "./router/chat" ;
78import coursesRoutes from "./router/courses" ;
89import matchesRoutes from "./router/matches" ;
@@ -17,14 +18,15 @@ const app = express();
1718app . set ( "query parser" , "simple" ) ;
1819
1920const port = 3000 ;
20- const allowedOrigins = [
21- process . env . SERVER_ORIGIN ?? "http://localhost:3000" , // delete this fallback when you think everyone has updated their .env
22- process . env . WEB_ORIGIN ,
23- process . env . MOBILE_ORIGIN ,
24- process . env . WEB_ORIGIN_BUILD ,
25- ] ;
21+ const allowedOrigins = (
22+ process . env . CORS_ALLOW_ORIGINS || panic ( "env CORS_ALLOW_ORIGINS is missing" )
23+ )
24+ . split ( "," )
25+ . filter ( ( s ) => s ) ; // ignore empty string (trailing comma?)
26+ allUrlMustBeValid ( allowedOrigins ) ;
27+
2628export const corsOptions = {
27- origins : allowedOrigins . filter ( ( s ) => s != null ) . filter ( ( s ) => s ) , // ignore empty string too
29+ origins : allowedOrigins ,
2830 methods : [ "GET" , "HEAD" , "POST" , "PUT" , "DELETE" ] ,
2931 credentials : true ,
3032} ;
0 commit comments