github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/interface/http/ga_measurement.go (about) 1 package http 2 3 import ( 4 "net/http" 5 6 "github.com/oinume/lekcije/backend/context_data" 7 "github.com/oinume/lekcije/backend/model2" 8 ) 9 10 func newGAMeasurementEventFromRequest(req *http.Request) *model2.GAMeasurementEvent { 11 // Ignore if client id is not set 12 clientID, _ := context_data.GetTrackingID(req.Context()) 13 return &model2.GAMeasurementEvent{ 14 UserAgentOverride: req.UserAgent(), 15 ClientID: clientID, 16 DocumentHostName: req.Host, 17 DocumentPath: req.URL.Path, 18 DocumentTitle: req.URL.Path, 19 DocumentReferrer: req.Referer(), 20 IPOverride: getRemoteAddress(req), 21 } 22 }