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  }