1
0

ga.go 877 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package ga
  2. import (
  3. "github.com/google/go-querystring/query"
  4. "github.com/pkg/errors"
  5. )
  6. // PageView sends analysis data of t=pageview
  7. func PageView(data CommonData) error {
  8. data.HitType = "pageview"
  9. v, err := query.Values(data)
  10. if err != nil {
  11. return errors.Wrap(err, "could not encode query")
  12. }
  13. err = send(v.Encode())
  14. return nil
  15. }
  16. // Timing sends analysis data of t=timing
  17. func Timing(data CommonData, tData TimingData) error {
  18. data.HitType = "timing"
  19. v1, err := query.Values(data)
  20. if err != nil {
  21. return errors.Wrap(err, "could not encode query")
  22. }
  23. v2, err := query.Values(tData)
  24. if err != nil {
  25. return errors.Wrap(err, "could not encode query")
  26. }
  27. concatURLValues(v1, v2)
  28. err = send(v1.Encode())
  29. return nil
  30. }
  31. // Detect tests network connection
  32. func Detect() error {
  33. err := send("")
  34. return err
  35. }