From 75ba9ddae8fc142baf29114bb85af2a4fa05da80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?gr=C3=A9goire=20parant?= Date: Tue, 16 Nov 2021 18:38:18 +0100 Subject: [PATCH] HotFix Allow Origin header for CORS (#1566) Signed-off-by: Gregoire Parant --- pusher/src/Controller/BaseController.ts | 2 ++ pusher/src/Controller/MapController.ts | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pusher/src/Controller/BaseController.ts b/pusher/src/Controller/BaseController.ts index a983333a..326d2349 100644 --- a/pusher/src/Controller/BaseController.ts +++ b/pusher/src/Controller/BaseController.ts @@ -1,4 +1,5 @@ import { HttpResponse } from "uWebSockets.js"; +import { FRONT_URL } from "../Enum/EnvironmentVariable"; export class BaseController { protected addCorsHeaders(res: HttpResponse): void { @@ -12,6 +13,7 @@ export class BaseController { */ // eslint-disable-next-line @typescript-eslint/no-explicit-any protected errorToResponse(e: any, res: HttpResponse): void { + res.writeHeader("Access-Control-Allow-Origin", FRONT_URL); if (e && e.message) { let url = e?.config?.url; if (url !== undefined) { diff --git a/pusher/src/Controller/MapController.ts b/pusher/src/Controller/MapController.ts index d7d506e2..7f76ff9e 100644 --- a/pusher/src/Controller/MapController.ts +++ b/pusher/src/Controller/MapController.ts @@ -2,7 +2,7 @@ import { HttpRequest, HttpResponse, TemplatedApp } from "uWebSockets.js"; import { BaseController } from "./BaseController"; import { parse } from "query-string"; import { adminApi } from "../Services/AdminApi"; -import { ADMIN_API_URL, DISABLE_ANONYMOUS } from "../Enum/EnvironmentVariable"; +import { ADMIN_API_URL, DISABLE_ANONYMOUS, FRONT_URL } from "../Enum/EnvironmentVariable"; import { GameRoomPolicyTypes } from "../Model/PusherRoom"; import { isMapDetailsData, MapDetailsData } from "../Services/AdminApi/MapDetailsData"; import { socketManager } from "../Services/SocketManager"; @@ -20,7 +20,6 @@ export class MapController extends BaseController { getMapUrl() { this.App.options("/map", (res: HttpResponse, req: HttpRequest) => { this.addCorsHeaders(res); - res.end(); }); @@ -88,6 +87,7 @@ export class MapController extends BaseController { } catch (e) { // The token was not good, redirect user on login page res.writeStatus("500"); + res.writeHeader("Access-Control-Allow-Origin", FRONT_URL); res.end("Token decrypted error"); return; }