code: func (d *DNSProvider) postRequest(cmd string, data url.Values) (*response, error) {
  	uri := d.config.BaseURL + cmd
  
  	if d.config.AuthSid != "" {
  		data.Set("auth-sid", d.config.AuthSid)
  	}
  
  	if d.config.Debug {
  		log.Infof("postRequest:\n\tURL: %q\n\tData: %v", uri, data)
  	}
  
  	resp, err := d.config.HTTPClient.PostForm(uri, data)
  	if err != nil {
  		return nil, err
  	}
  	defer resp.Body.Close()
  
  	body, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		return nil, err
  	}
  
  	if resp.StatusCode != 200 {
  		return nil, fmt.Errorf("HTTP error %d [%s]: %v", resp.StatusCode, http.StatusText(resp.StatusCode), string(body))
  	}
  
  	return parseResponse(string(body)), nil
  }
docs: // postRequest performs actual HTTP request