code: func (c *Client) SendFile(serviceMethod string, data io.Reader, ret interface{}) error {
  	body, err := c.callWithRetry(serviceMethod, data, true)
  	if err != nil {
  		return err
  	}
  	defer body.Close()
  	if err := json.NewDecoder(body).Decode(&ret); err != nil {
  		logrus.Errorf("%s: error reading plugin resp: %v", serviceMethod, err)
  		return err
  	}
  	return nil
  }
docs: // SendFile calls the specified method, and passes through the IO stream