From 5ba18569e906e89adde529542cecbf7227a60505 Mon Sep 17 00:00:00 2001 From: Ingo Oppermann Date: Mon, 11 Mar 2024 14:47:09 +0100 Subject: [PATCH] Use referrer host for remote --- http/middleware/session/HTTP.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/http/middleware/session/HTTP.go b/http/middleware/session/HTTP.go index 3393f90f..615b2058 100644 --- a/http/middleware/session/HTTP.go +++ b/http/middleware/session/HTTP.go @@ -1,6 +1,8 @@ package session import ( + "net/url" + "github.com/labstack/echo/v4" "github.com/lithammer/shortuuid/v4" ) @@ -19,7 +21,11 @@ func (h *handler) handleHTTP(c echo.Context, ctxuser string, data map[string]int if len(req.URL.RawQuery) != 0 { location += "?" + req.URL.RawQuery } - remote := req.RemoteAddr + + referrer := req.Header.Get("Referer") + if u, err := url.Parse(referrer); err == nil { + referrer = u.Host + } id := shortuuid.New() @@ -35,7 +41,7 @@ func (h *handler) handleHTTP(c echo.Context, ctxuser string, data map[string]int } res.Writer = w - h.httpCollector.RegisterAndActivate(id, "", location, remote) + h.httpCollector.RegisterAndActivate(id, "", location, referrer) h.httpCollector.Extra(id, data) defer h.httpCollector.Close(id)