code: func (hc *httpclient) Send(cmd interface{}, out interface{}) error {
  	b, err := json.Marshal(cmd)
  	if err != nil {
  		return err
  	}
  
  	rd := bytes.NewReader(b)
  	req, err := http.NewRequest("POST", hc.endpoint, rd)
  	if err != nil {
  		return err
  	}
  
  	req.Header.Set("Content-Type", "application/json")
  	req.Header.Set("X-IOTA-API-Version", "1")
  	resp, err := hc.client.Do(req)
  	if err != nil {
  		return err
  	}
  	defer resp.Body.Close()
  
  	bs, err := ioutil.ReadAll(resp.Body)
  	if err != nil {
  		return err
  	}
  
  	if resp.StatusCode != http.StatusOK {
  		errResp := &ErrRequestError{Code: resp.StatusCode}
  		json.Unmarshal(bs, errResp)
  		return errResp
  	}
  
  	if out == nil {
  		return nil
  	}
  	return json.Unmarshal(bs, out)
  }
docs: // ignore