From 4c557eff5d4002299dd8a9dfca7917084c2307f6 Mon Sep 17 00:00:00 2001 From: zeripath Date: Fri, 4 Sep 2020 15:02:37 +0100 Subject: [PATCH] Add github api token option to generate-license & generate-gitignore (#12700) * Add github api token option to generate-license & generate-gitignore Without api toke, Will face rate limit sometimes. Signed-off-by: a1012112796 <1012112796@qq.com> * Use Basic authentication with tokens Signed-off-by: Andrew Thornton Co-authored-by: a1012112796 <1012112796@qq.com> Co-authored-by: techknowlogick --- build/generate-gitignores.go | 21 ++++++++++++++++----- build/generate-licenses.go | 20 ++++++++++++++++---- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/build/generate-gitignores.go b/build/generate-gitignores.go index f341c1ec4..846bb0763 100644 --- a/build/generate-gitignores.go +++ b/build/generate-gitignores.go @@ -21,12 +21,16 @@ import ( func main() { var ( - prefix = "gitea-gitignore" - url = "https://api.github.com/repos/github/gitignore/tarball" - destination = "" + prefix = "gitea-gitignore" + url = "https://api.github.com/repos/github/gitignore/tarball" + githubApiToken = "" + githubUsername = "" + destination = "" ) flag.StringVar(&destination, "dest", "options/gitignore/", "destination for the gitignores") + flag.StringVar(&githubUsername, "username", "", "github username") + flag.StringVar(&githubApiToken, "token", "", "github api token") flag.Parse() file, err := ioutil.TempFile(os.TempDir(), prefix) @@ -37,12 +41,19 @@ func main() { defer util.Remove(file.Name()) - resp, err := http.Get(url) - + req, err := http.NewRequest("GET", url, nil) if err != nil { log.Fatalf("Failed to download archive. %s", err) } + if len(githubApiToken) > 0 && len(githubUsername) > 0 { + req.SetBasicAuth(githubUsername, githubApiToken) + } + + resp, err := http.DefaultClient.Do(req) + if err != nil { + log.Fatalf("Failed to download archive. %s", err) + } defer resp.Body.Close() if _, err := io.Copy(file, resp.Body); err != nil { diff --git a/build/generate-licenses.go b/build/generate-licenses.go index 53623e419..9dd13adf9 100644 --- a/build/generate-licenses.go +++ b/build/generate-licenses.go @@ -21,12 +21,16 @@ import ( func main() { var ( - prefix = "gitea-licenses" - url = "https://api.github.com/repos/spdx/license-list-data/tarball" - destination = "" + prefix = "gitea-licenses" + url = "https://api.github.com/repos/spdx/license-list-data/tarball" + githubApiToken = "" + githubUsername = "" + destination = "" ) flag.StringVar(&destination, "dest", "options/license/", "destination for the licenses") + flag.StringVar(&githubUsername, "username", "", "github username") + flag.StringVar(&githubApiToken, "token", "", "github api token") flag.Parse() file, err := ioutil.TempFile(os.TempDir(), prefix) @@ -37,8 +41,16 @@ func main() { defer util.Remove(file.Name()) - resp, err := http.Get(url) + req, err := http.NewRequest("GET", url, nil) + if err != nil { + log.Fatalf("Failed to download archive. %s", err) + } + + if len(githubApiToken) > 0 && len(githubUsername) > 0 { + req.SetBasicAuth(githubUsername, githubApiToken) + } + resp, err := http.DefaultClient.Do(req) if err != nil { log.Fatalf("Failed to download archive. %s", err) }