client.go
func (c *Client) Get(ctx context.Context, endpoint string, params url.Values) (*Response, error) {
	// If the sanitizer is enabled, make sure the requested path is safe.
	if c.sanitizerEnabled {
		err := isPathSafe(endpoint)
		if err != nil {
			return nil, err
		}
	}

	baseUrl, err := url.Parse(endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.RawQuery = params.Encode()
	tracer := c.newTracer()
	return tracer.Done(c.RoundTrip(func() (*http.Response, error) {
		req, err := http.NewRequest(http.MethodGet, baseUrl.String(), nil)
		if err != nil {
			return nil, err
		}
		req = req.WithContext(ctx)
		c.addAuth(req)
		tracer.Start(req)
		return c.client.Do(req)
	}))
}
func (c *Client) Get(ctx context.Context, endpoint string, params url.Values) (*Response, error) {
	// If the sanitizer is enabled, make sure the requested path is safe.
	if c.sanitizerEnabled {
		err := isPathSafe(endpoint)
		if err != nil {
			return nil, err
		}
	}

	baseUrl, err := url.Parse(endpoint)
	if err != nil {
		return nil, err
	}
	baseUrl.RawQuery = params.Encode()
	tracer := c.newTracer()
	return tracer.Done(c.RoundTrip(func() (*http.Response, error) {
		req, err := http.NewRequest(http.MethodGet, baseUrl.String(), nil)
		if err != nil {
			return nil, err
		}
		req = req.WithContext(ctx)
		c.addAuth(req)
		tracer.Start(req)
		return c.client.Do(req)
	}))
}
// Get executes GET request to the server endpoint with optional query arguments passed in params
//
// re, err := c.Get(c.Endpoint("users"), url.Values{"name": []string{"John"}})
//