Skip to content

Commit c46a85d

Browse files
committed
github: set per_page=100 as default
Makes rate limiting less likely on paginated queries. Updates github-release#45.
1 parent ae86754 commit c46a85d

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

github/github.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,20 @@ func (c Client) Get(uri string, v interface{}) error {
136136
// TODO: Rework the API so we can cleanly append per_page=100 as a URL
137137
// parameter.
138138
func (c Client) getPaginated(uri string) (io.ReadCloser, error) {
139-
v := url.Values{}
139+
// Parse the passed-in URI to make sure we don't lose any values when
140+
// setting our own params.
141+
u, err := url.Parse(c.BaseURL + uri)
142+
if err != nil {
143+
return nil, err
144+
}
145+
146+
v := u.Query()
147+
v.Set("per_page", "100") // The default is 30, this makes it less likely for Github to rate-limit us.
140148
if c.Token != "" {
141149
v.Set("access_token", c.Token)
142150
}
143-
resp, err := http.Get(c.BaseURL + uri + "?" + v.Encode())
151+
u.RawQuery = v.Encode()
152+
resp, err := http.Get(u.String())
144153
if err != nil {
145154
return nil, err
146155
}

0 commit comments

Comments
 (0)