code: func (c *Client) ReadFeed(url string) (*atom.Feed, *Response, error) {
  
  	req, err := c.NewRequest("GET", url, nil)
  	if err != nil {
  		return nil, nil, err
  	}
  
  	req.Header.Set("Accept", "application/atom+xml")
  
  	var b bytes.Buffer
  	resp, err := c.Do(req, &b)
  	if err != nil {
  		return nil, resp, err
  	}
  	feed := &atom.Feed{}
  	err = xml.NewDecoder(bytes.NewReader(b.Bytes())).Decode(feed)
  	if err != nil {
  		return nil, resp, err
  	}
  
  	return feed, resp, nil
  }
docs: // ReadFeed reads the atom feed for a stream and returns an *atom.Feed.
  //
  // The feed object returned may be nil in case of an error.
  // The *Response may also be nil if the error occurred before the http request.
  // If the error occurred after the http request, the *Response will contain the
  // raw http response and status.
  // If the error occurred during the http request an *ErrorResponse will be returned
  // and this will also contain the raw http request and status and an error message.