code: func (c *HTTPClient) Call() (count, total int, err error) {
  	defer c.reset()
  	for key, value := range c.headers {
  		c.request.Header.Add(key, value)
  	}
  
  	resp, err := c.doRequest(c.request)
  	if resp != nil {
  		defer resp.Body.Close()
  	}
  
  	if err != nil {
  		return count, total, err
  	} else if resp == nil {
  		return count, total, fmt.Errorf("empty response")
  	}
  
  	if c.response != nil {
  		if resp.Header["Content-Type"] != nil {
  			contentType := strings.ToLower(resp.Header["Content-Type"][0])
  			if strings.Contains(contentType, "application/json") {
  				return readJSONResult(resp.Body, c.response)
  			} else if strings.Contains(contentType, "text/csv") {
  				c.response, err = csv.NewReader(resp.Body).ReadAll()
  			}
  		}
  	}
  
  	return count, total, err
  }
docs: // Call execute the HTTP call to the API