timelines.go
changeset 155 0c581e0108da
parent 149 5f922977d7c7
child 156 70aadba26338
--- 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
 }