From a30bd7ea2595ad529551df944996c0480eb12885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Mur=C3=A9?= <batolettre@gmail.com> Date: Thu, 9 Mar 2023 18:23:44 +0100 Subject: [PATCH] github: try to make token generation more robust against bad connection --- bridge/github/config.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/bridge/github/config.go b/bridge/github/config.go index 2f5d1f3b..c82b752f 100644 --- a/bridge/github/config.go +++ b/bridge/github/config.go @@ -277,7 +277,9 @@ func pollGithubForAuthorization(deviceCode string, intervalSec int64) (string, e for { resp, err := client.PostForm("https://github.com/login/oauth/access_token", params) if err != nil { - return "", errors.Wrap(err, "error polling the Github API") + fmt.Printf("error polling the Github API: %s\n", err) + time.Sleep(interval * time.Millisecond) + continue } if resp.StatusCode != http.StatusOK { _ = resp.Body.Close() @@ -287,13 +289,17 @@ func pollGithubForAuthorization(deviceCode string, intervalSec int64) (string, e data, err := ioutil.ReadAll(resp.Body) if err != nil { _ = resp.Body.Close() - return "", errors.Wrap(err, "error polling the Github API") + fmt.Printf("error polling the Github API: %s\n", err) + time.Sleep(interval * time.Millisecond) + continue } _ = resp.Body.Close() values, err := url.ParseQuery(string(data)) if err != nil { - return "", errors.Wrap(err, "error decoding Github API response") + fmt.Printf("error decoding Github API response: %s\n", err) + time.Sleep(interval * time.Millisecond) + continue } if token := values.Get("access_token"); token != "" { -- GitLab