--- a/timelines.go Sat Apr 29 10:51:45 2017 +0200
+++ b/timelines.go Sat Apr 29 12:16:16 2017 +0200
@@ -39,8 +39,21 @@
}
var tl []Status
- if err := mc.apiCall(endPoint, rest.Get, params, lopt, &tl); err != nil {
+ var links apiLinks
+ if err := mc.apiCall(endPoint, rest.Get, params, lopt, &links, &tl); err != nil {
return nil, err
}
+ if lopt != nil { // Fetch more pages to reach our limit
+ var statusSlice []Status
+ for lopt.Limit > len(tl) && links.next != nil {
+ newlopt := links.next
+ links = apiLinks{}
+ if err := mc.apiCall(endPoint, rest.Get, params, newlopt, &links, &statusSlice); err != nil {
+ return nil, err
+ }
+ tl = append(tl, statusSlice...)
+ statusSlice = statusSlice[:0] // Clear struct
+ }
+ }
return tl, nil
}