From a040618485f9ed45980faac6e3fb28c57e0da4d8 Mon Sep 17 00:00:00 2001 From: Arya Khochare <91268931+Aryakoste@users.noreply.github.com> Date: Sat, 6 Apr 2024 08:25:50 +0530 Subject: [PATCH] Added log to show which URL is blocked by CORS. (#26347) --------- Co-authored-by: Mattermost Build --- server/channels/api4/websocket.go | 5 ++++- server/channels/api4/websocket_test.go | 2 +- server/i18n/en.json | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/channels/api4/websocket.go b/server/channels/api4/websocket.go index 3f4ccc7e29..53fc767a67 100644 --- a/server/channels/api4/websocket.go +++ b/server/channels/api4/websocket.go @@ -32,7 +32,10 @@ func connectWebSocket(c *Context, w http.ResponseWriter, r *http.Request) { ws, err := upgrader.Upgrade(w, r, nil) if err != nil { - c.Err = model.NewAppError("connect", "api.web_socket.connect.upgrade.app_error", nil, err.Error(), http.StatusBadRequest) + params := map[string]any{ + "BlockedOrigin": r.Header.Get("Origin"), + } + c.Err = model.NewAppError("connect", "api.web_socket.connect.upgrade.app_error", params, err.Error(), http.StatusBadRequest) return } diff --git a/server/channels/api4/websocket_test.go b/server/channels/api4/websocket_test.go index ecd9bb38cd..200fba41c4 100644 --- a/server/channels/api4/websocket_test.go +++ b/server/channels/api4/websocket_test.go @@ -465,5 +465,5 @@ func TestWebSocketUpgrade(t *testing.T) { require.NoError(t, err) require.Equal(t, resp.StatusCode, http.StatusBadRequest) require.NoError(t, th.TestLogger.Flush()) - testlib.AssertLog(t, buffer, mlog.LvlDebug.Name, "Failed to upgrade websocket connection.") + testlib.AssertLog(t, buffer, mlog.LvlDebug.Name, "URL Blocked because of CORS. Url: ") } diff --git a/server/i18n/en.json b/server/i18n/en.json index 6178727e30..d5e51cd584 100644 --- a/server/i18n/en.json +++ b/server/i18n/en.json @@ -4552,7 +4552,7 @@ }, { "id": "api.web_socket.connect.upgrade.app_error", - "translation": "Failed to upgrade websocket connection." + "translation": "URL Blocked because of CORS. Url: {{.BlockedOrigin}}" }, { "id": "api.web_socket_router.bad_action.app_error",