The Canvas headers include a link object (usually), in form:
Link:
<https://canvas.url/api/v1/[...]?page=1&per_page=10>; rel="current",
<https://canvas.url/api/v1/[...]?page=2&per_page=10>; rel="next",
<https://canvas.url/api/v1/[...]?page=1&per_page=10>; rel="first",
<https://canvas.url/api/v1/[...]?page=15&per_page=10>; rel="last"
In this case, we need to download every page from 1 to 15 to capture all data. This function parses the response object intelligently, using only HEAD requests, to figure out these page requirements.
paginate(x)
x | a httr response object |
---|
unparsed responses
not_run({ resp <- canvas_query(url, args, "HEAD") get_pages(resp) })