From 6a2cb7dc2fc5b53958e0bffe2c615af80364dafc Mon Sep 17 00:00:00 2001 From: AlecM33 Date: Thu, 20 Jan 2022 22:15:18 -0500 Subject: [PATCH] add cors to api --- server/api/GamesAPI.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/server/api/GamesAPI.js b/server/api/GamesAPI.js index fd356db..d76789d 100644 --- a/server/api/GamesAPI.js +++ b/server/api/GamesAPI.js @@ -5,6 +5,7 @@ const logger = require('../modules/Logger')(debugMode); const GameManager = require('../modules/GameManager.js'); const rateLimit = require('express-rate-limit').default; const globals = require('../config/globals'); +const cors = require('cors'); const gameManager = new GameManager().getInstance(); @@ -15,6 +16,20 @@ const apiLimiter = rateLimit({ legacyHeaders: false }); +const corsOptions = process.env.NODE_ENV.trim() === 'development' + ? { + origin: '*', + optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204 + } + : { + origin: 'https://playwerewolf.uk.r.appspot.com', + optionsSuccessStatus: 200 + } + +router.use(cors(corsOptions)); +router.options('/:code/players', cors(corsOptions)) // enable pre-flight request for DELETE + + if (process.env.NODE_ENV.trim() === 'production') { // in prod, limit clients to creating 5 games per 10 minutes. router.use('/create', apiLimiter); } @@ -52,8 +67,6 @@ router.get('/:code/availability', function (req, res) { }); router.patch('/:code/players', function (req, res) { - console.log(typeof req.body.cookie); - console.log(req.body.cookie); if ( req.body === null || req.body.cookie === null