From 3fdf799bd70afba326394318ca4b28faa6abe0a7 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 17 Mar 2025 13:32:00 +0100 Subject: [PATCH] feat(http): unsupported tracker error with projectID in logs --- backend/pkg/sessions/api/web/handlers.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/pkg/sessions/api/web/handlers.go b/backend/pkg/sessions/api/web/handlers.go index 4ca3fec32..af509d8f6 100644 --- a/backend/pkg/sessions/api/web/handlers.go +++ b/backend/pkg/sessions/api/web/handlers.go @@ -135,11 +135,6 @@ func (e *handlersImpl) startSessionHandlerWeb(w http.ResponseWriter, r *http.Req // Add tracker version to context r = r.WithContext(context.WithValue(r.Context(), "tracker", req.TrackerVersion)) - if err := validateTrackerVersion(req.TrackerVersion); err != nil { - e.log.Error(r.Context(), "unsupported tracker version: %s, err: %s", req.TrackerVersion, err) - e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusUpgradeRequired, errors.New("please upgrade the tracker version"), startTime, r.URL.Path, bodySize) - return - } // Handler's logic if req.ProjectKey == nil { @@ -162,6 +157,13 @@ func (e *handlersImpl) startSessionHandlerWeb(w http.ResponseWriter, r *http.Req // Add projectID to context r = r.WithContext(context.WithValue(r.Context(), "projectID", fmt.Sprintf("%d", p.ProjectID))) + // Validate tracker version + if err := validateTrackerVersion(req.TrackerVersion); err != nil { + e.log.Error(r.Context(), "unsupported tracker version: %s, err: %s", req.TrackerVersion, err) + e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusUpgradeRequired, errors.New("please upgrade the tracker version"), startTime, r.URL.Path, bodySize) + return + } + // Check if the project supports mobile sessions if !p.IsWeb() { e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusForbidden, errors.New("project doesn't support web sessions"), startTime, r.URL.Path, bodySize)