code: func makeMetricsRequest(client *http.Client, url string) (producers.MetricsMessage, error) {
  	l := logrus.WithFields(logrus.Fields{"plugin": "http-helper"})
  
  	l.Infof("Making request to %s", url)
  	mm := producers.MetricsMessage{}
  
  	resp, err := client.Get(url)
  	if err != nil {
  		l.Errorf("Encountered error requesting data, %s", err.Error())
  		return mm, err
  	}
  
  	// 204 No Content is not an error code; we handle it explicitly
  	if resp.StatusCode == http.StatusNoContent {
  		l.Warnf("Empty response received from endpoint: %s", url)
  		return mm, nil
  	}
  
  	defer resp.Body.Close()
  	err = json.NewDecoder(resp.Body).Decode(&mm)
  	return mm, errors.Wrapf(err, "could not decode metrics response: %s", url)
  }
docs: /*** Helpers ***/
  // makeMetricsRequest queries the given url expecting to find a JSON-formatted
  // MetricsMessage, which it returns.