code: func (c *Client) interpretAPIEventsPage(answer *GetAPIEventsResponse, pageNum int, received *http.Response) error {
  	// before we pull the status info out of the response body, fetch
  	// pagination info from it:
  	pages, body, err := getEventsPages(received.Body)
  	if err != nil {
  		return err
  	}
  	answer.Links = pages
  	data, err := jsonapi.UnmarshalManyPayload(body, reflect.TypeOf(new(Event)))
  	if err != nil {
  		return err
  	}
  
  	for i := range data {
  		typed, ok := data[i].(*Event)
  		if !ok {
  			return fmt.Errorf("got back response of unexpected type")
  		}
  		answer.Events = append(answer.Events, typed)
  	}
  	if pageNum == 0 {
  		if pages.Next != "" {
  			// NOTE: pages.Next URL includes filters already
  			resp, err := c.SimpleGet(pages.Next)
  			if err != nil {
  				return err
  			}
  			c.interpretAPIEventsPage(answer, pageNum, resp)
  		}
  		return nil
  	}
  	return nil
  }
docs: // interpretAPIEventsPage accepts a Fastly response for a set of WAF rule statuses
  // and unmarshals the results. If there are more pages of results, it fetches the next
  // page, adds that response to the array of results, and repeats until all results have
  // been fetched.