From a4c5987d87a08840aa83ed05bf2e511396809221 Mon Sep 17 00:00:00 2001 From: Ray Zane Date: Fri, 11 Apr 2025 20:57:16 -0400 Subject: [PATCH 1/2] Allow localhost origins --- fakeserver/server.go | 19 +++++++++++++------ fakeserver/server_test.go | 26 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/fakeserver/server.go b/fakeserver/server.go index faffaa3..89acbf4 100644 --- a/fakeserver/server.go +++ b/fakeserver/server.go @@ -6,6 +6,7 @@ import ( "log" "net" "net/http" + "net/url" "os" "strings" "sync" @@ -50,13 +51,19 @@ func createCors() *cors.Cors { return true } } - if origin == "localhost" { - return true - } - ip := net.ParseIP(origin) - if ip != nil && ip.IsLoopback() { - return true + + if parsed, err := url.Parse(origin); err == nil { + hostname := parsed.Hostname() + + if hostname == "localhost" { + return true + } + + if ip := net.ParseIP(hostname); ip != nil && ip.IsLoopback() { + return true + } } + return false }, }) diff --git a/fakeserver/server_test.go b/fakeserver/server_test.go index b7eaa3c..836646a 100644 --- a/fakeserver/server_test.go +++ b/fakeserver/server_test.go @@ -246,6 +246,32 @@ func TestCors(t *testing.T) { require.Equal(t, "http://www.allowed.com", w.HeaderMap.Get("Access-Control-Allow-Origin")) }) + t.Run("it passes cors from localhost", func(t *testing.T) { + w := httptest.NewRecorder() + h := createHandler() + + request := httptest.NewRequest("GET", "/api/v2/split_registry", nil) + request.Header.Add("Origin", "http://localhost:3000") + + h.ServeHTTP(w, request) + + require.Equal(t, http.StatusOK, w.Code) + require.Equal(t, "http://localhost:3000", w.HeaderMap.Get("Access-Control-Allow-Origin")) + }) + + t.Run("it passes cors from loopback ip", func(t *testing.T) { + w := httptest.NewRecorder() + h := createHandler() + + request := httptest.NewRequest("GET", "/api/v2/split_registry", nil) + request.Header.Add("Origin", "http://127.0.0.1:3000") + + h.ServeHTTP(w, request) + + require.Equal(t, http.StatusOK, w.Code) + require.Equal(t, "http://127.0.0.1:3000", w.HeaderMap.Get("Access-Control-Allow-Origin")) + }) + os.Unsetenv("TESTTRACK_ALLOWED_ORIGINS") } From da28a5673652c47d01fd785a7c12b860db5779e5 Mon Sep 17 00:00:00 2001 From: Ray Zane Date: Sat, 12 Apr 2025 14:43:42 -0400 Subject: [PATCH 2/2] Bump v1.6.1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 03c2a81..4cf0474 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ SHELL = /bin/sh -VERSION=1.6.0 +VERSION=1.6.1 BUILD=`git rev-parse HEAD` LDFLAGS=-ldflags "-w -s \