code: func (api *API) CustomHostnames(zoneID string, page int, filter CustomHostname) ([]CustomHostname, ResultInfo, error) {
  	v := url.Values{}
  	v.Set("per_page", "50")
  	v.Set("page", strconv.Itoa(page))
  	if filter.Hostname != "" {
  		v.Set("hostname", filter.Hostname)
  	}
  	query := "?" + v.Encode()
  
  	uri := "/zones/" + zoneID + "/custom_hostnames" + query
  	res, err := api.makeRequest("GET", uri, nil)
  	if err != nil {
  		return []CustomHostname{}, ResultInfo{}, errors.Wrap(err, errMakeRequestError)
  	}
  	var customHostnameListResponse CustomHostnameListResponse
  	err = json.Unmarshal(res, &customHostnameListResponse)
  	if err != nil {
  		return []CustomHostname{}, ResultInfo{}, errors.Wrap(err, errMakeRequestError)
  	}
  
  	return customHostnameListResponse.Result, customHostnameListResponse.ResultInfo, nil
  }
docs: // CustomHostnames fetches custom hostnames for the given zone,
  // by applying filter.Hostname if not empty and scoping the result to page'th 50 items.
  //
  // The returned ResultInfo can be used to implement pagination.
  //
  // API reference: https://api.cloudflare.com/#custom-hostname-for-a-zone-list-custom-hostnames