@@ -4,7 +4,6 @@ import (
44 "context"
55 "errors"
66 "fmt"
7− "io/ioutil"
87 "net/http"
98 "net/url"
109 "path"
@@ -116,6 +115,7 @@ func (p *GitHubProvider) hasOrg(ctx context.Context, accessToken string) (bool,
116115 err := requests.New(endpoint.String()).
117116 WithContext(ctx).
118117 WithHeaders(getGitHubHeader(accessToken)).
118+ Do().
119119 UnmarshalInto(&op)
120120 if err != nil {
121121 return false, err
@@ -179,12 +179,12 @@ func (p *GitHubProvider) hasOrgAndTeam(ctx context.Context, accessToken string)
179179 // bodyclose cannot detect that the body is being closed later in requests.Into,
180180 // so have to skip the linting for the next line.
181181 // nolint:bodyclose
182− resp, err := requests.New(endpoint.String()).
182+ result := requests.New(endpoint.String()).
183183 WithContext(ctx).
184184 WithHeaders(getGitHubHeader(accessToken)).
185185 Do()
186− if err != nil {
187− return false, err
186+ if result.Error() != nil {
187+ return false, result.Error()
188188 }
189189
190190 if last == 0 {
@@ -200,7 +200,7 @@ func (p *GitHubProvider) hasOrgAndTeam(ctx context.Context, accessToken string)
200200 // link header at last page (doesn't exist last info)
201201 // <https://api.github.com/user/teams?page=3&per_page=10>; rel="prev", <https://api.github.com/user/teams?page=1&per_page=10>; rel="first"
202202
203− link := resp.Header.Get("Link")
203+ link := result.Headers().Get("Link")
204204 rep1 := regexp.MustCompile(`(?s).*\<https://api.github.com/user/teams\?page=(.)&per_page=[0-9]+\>; rel="last".*`)
205205 i, converr := strconv.Atoi(rep1.ReplaceAllString(link, "$1"))
206206
@@ -211,7 +211,7 @@ func (p *GitHubProvider) hasOrgAndTeam(ctx context.Context, accessToken string)
211211 }
212212
213213 var tp teamsPage
214− if err := requests.UnmarshalInto(resp, &tp); err != nil {
214+ if err := result.UnmarshalInto(&tp); err != nil {
215215 return false, err
216216 }
217217 if len(tp) == 0 {
@@ -282,6 +282,7 @@ func (p *GitHubProvider) hasRepo(ctx context.Context, accessToken string) (bool,
282282 err := requests.New(endpoint.String()).
283283 WithContext(ctx).
284284 WithHeaders(getGitHubHeader(accessToken)).
285+ Do().
285286 UnmarshalInto(&repo)
286287 if err != nil {
287288 return false, err
@@ -309,6 +310,7 @@ func (p *GitHubProvider) hasUser(ctx context.Context, accessToken string) (bool,
309310 err := requests.New(endpoint.String()).
310311 WithContext(ctx).
311312 WithHeaders(getGitHubHeader(accessToken)).
313+ Do().
312314 UnmarshalInto(&user)
313315 if err != nil {
314316 return false, err
@@ -328,26 +330,20 @@ func (p *GitHubProvider) isCollaborator(ctx context.Context, username, accessTok
328330 Host: p.ValidateURL.Host,
329331 Path: path.Join(p.ValidateURL.Path, "/repos/", p.Repo, "/collaborators/", username),
330332 }
331− resp, err := requests.New(endpoint.String()).
333+ result := requests.New(endpoint.String()).
332334 WithContext(ctx).
333335 WithHeaders(getGitHubHeader(accessToken)).
334336 Do()
335− if err != nil {
336− return false, err
337− }
338−
339− body, err := ioutil.ReadAll(resp.Body)
340− resp.Body.Close()
341− if err != nil {
342− return false, err
337+ if result.Error() != nil {
338+ return false, result.Error()
343339 }
344340
345− if resp.StatusCode != 204 {
341+ if result.StatusCode() != 204 {
346342 return false, fmt.Errorf("got %d from %q %s",
347− resp.StatusCode, endpoint.String(), body)
343+ result.StatusCode(), endpoint.String(), result.Body())
348344 }
349345
350− logger.Printf("got %d from %q %s", resp.StatusCode, endpoint.String(), body)
346+ logger.Printf("got %d from %q %s", result.StatusCode(), endpoint.String(), result.Body())
351347
352348 return true, nil
353349}
@@ -401,6 +397,7 @@ func (p *GitHubProvider) GetEmailAddress(ctx context.Context, s *sessions.Sessio
401397 err := requests.New(endpoint.String()).
402398 WithContext(ctx).
403399 WithHeaders(getGitHubHeader(s.AccessToken)).
400+ Do().
404401 UnmarshalInto(&emails)
405402 if err != nil {
406403 return "", err
@@ -435,6 +432,7 @@ func (p *GitHubProvider) GetUserName(ctx context.Context, s *sessions.SessionSta
435432 err := requests.New(endpoint.String()).
436433 WithContext(ctx).
437434 WithHeaders(getGitHubHeader(s.AccessToken)).
435+ Do().
438436 UnmarshalInto(&user)
439437 if err != nil {
440438 return "", err