timelines.go
changeset 155 0c581e0108da
parent 149 5f922977d7c7
child 156 70aadba26338
equal deleted inserted replaced
154:eb83fd052cc5 155:0c581e0108da
    37 	if timeline == "public" && local {
    37 	if timeline == "public" && local {
    38 		params["local"] = "true"
    38 		params["local"] = "true"
    39 	}
    39 	}
    40 
    40 
    41 	var tl []Status
    41 	var tl []Status
    42 	if err := mc.apiCall(endPoint, rest.Get, params, lopt, &tl); err != nil {
    42 	var links apiLinks
       
    43 	if err := mc.apiCall(endPoint, rest.Get, params, lopt, &links, &tl); err != nil {
    43 		return nil, err
    44 		return nil, err
       
    45 	}
       
    46 	if lopt != nil { // Fetch more pages to reach our limit
       
    47 		var statusSlice []Status
       
    48 		for lopt.Limit > len(tl) && links.next != nil {
       
    49 			newlopt := links.next
       
    50 			links = apiLinks{}
       
    51 			if err := mc.apiCall(endPoint, rest.Get, params, newlopt, &links, &statusSlice); err != nil {
       
    52 				return nil, err
       
    53 			}
       
    54 			tl = append(tl, statusSlice...)
       
    55 			statusSlice = statusSlice[:0] // Clear struct
       
    56 		}
    44 	}
    57 	}
    45 	return tl, nil
    58 	return tl, nil
    46 }
    59 }