equal
deleted
inserted
replaced
11 ) |
11 ) |
12 |
12 |
13 // GetFavourites returns the list of the user's favourites |
13 // GetFavourites returns the list of the user's favourites |
14 func (mc *Client) GetFavourites(lopt *LimitParams) ([]Status, error) { |
14 func (mc *Client) GetFavourites(lopt *LimitParams) ([]Status, error) { |
15 var faves []Status |
15 var faves []Status |
16 err := mc.apiCall("favourites", rest.Get, nil, lopt, &faves) |
16 var links apiLinks |
|
17 err := mc.apiCall("favourites", rest.Get, nil, lopt, &links, &faves) |
17 if err != nil { |
18 if err != nil { |
18 return nil, err |
19 return nil, err |
19 } |
20 } |
|
21 if lopt != nil { // Fetch more pages to reach our limit |
|
22 var faveSlice []Status |
|
23 for lopt.Limit > len(faves) && links.next != nil { |
|
24 newlopt := links.next |
|
25 links = apiLinks{} |
|
26 if err := mc.apiCall("favourites", rest.Get, nil, newlopt, &links, &faveSlice); err != nil { |
|
27 return nil, err |
|
28 } |
|
29 faves = append(faves, faveSlice...) |
|
30 faveSlice = faveSlice[:0] // Clear struct |
|
31 } |
|
32 } |
20 return faves, nil |
33 return faves, nil |
21 } |
34 } |