code: func (d *DNSProvider) updateTxtRecord(u fmt.Stringer) error {
  	resp, err := d.config.HTTPClient.Get(u.String())
  	if err != nil {
  		return err
  	}
  	defer resp.Body.Close()
  
  	if resp.StatusCode != 200 {
  		return fmt.Errorf("request failed with HTTP status code %d", resp.StatusCode)
  	}
  
  	raw, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		return fmt.Errorf("failed to read body: %v", err)
  	}
  
  	var response apiResponse
  	err = json.Unmarshal(raw, &response)
  	if err != nil {
  		return fmt.Errorf("unable to decode API server response: %v: %s", err, string(raw))
  	}
  
  	if response.Result == "error" {
  		return fmt.Errorf("add TXT record failed: %s", response.Data)
  	}
  
  	log.Infof("dreamhost: %s", response.Data)
  	return nil
  }
docs: // updateTxtRecord will either add or remove a TXT record.
  // action is either cmdAddRecord or cmdRemoveRecord