tracker_service.go   A
last analyzed

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 17
dl 0
loc 31
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A client.*trackerService.TrackEvent 0 17 4
1
package client
2
3
import (
4
	"context"
5
	"encoding/json"
6
	"net/http"
7
)
8
9
// trackerService is the API client for the `/contacts` endpoint
10
type trackerService service
11
12
// TrackEvent tracks an event for a contact.
13
//
14
// API Docs: https://next-wiki.useplunk.com/api-reference/public-api/trackEvent
15
func (service *trackerService) TrackEvent(ctx context.Context, params *TrackEventRequest) (*TrackEventResponse, *Response, error) {
16
	request, err := service.client.newRequestWithPublicKey(ctx, http.MethodPost, "/v1/track", params)
17
	if err != nil {
18
		return nil, nil, err
19
	}
20
21
	response, err := service.client.do(request)
22
	if err != nil {
23
		return nil, response, err
24
	}
25
26
	event := new(TrackEventResponse)
27
	if err = json.Unmarshal(*response.Body, event); err != nil {
28
		return nil, response, err
29
	}
30
31
	return event, response, nil
32
}
33