code: func anyError(resp *http.Response, err error) error {
  	if err != nil {
  		return errors.Wrap(err, "unable to perform request")
  	}
  	if resp.StatusCode < 200 || resp.StatusCode >= 300 {
  		defer resp.Body.Close()
  		buf, err := ioutil.ReadAll(resp.Body)
  		if err != nil {
  			return errors.Wrapf(err, "bad status '%s' and err reading body", resp.Status)
  		}
  		msg := string(buf)
  		return errors.Errorf("Server error %s body:'%s'", resp.Status, msg)
  	}
  	return nil
  }
docs: // anyError checks an http Response and error to see if anything went wrong with
  // a request (either locally, or on the server) and returns a single error if
  // so.