Skip to content

Commit 5122f61

Browse files
authored
Merge pull request #24 from boringtools/dev-nikhil
Added unauthenticated scan feature
2 parents cf48b00 + 8202c72 commit 5122f61

File tree

6 files changed

+23
-14
lines changed

6 files changed

+23
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ brew install boringtools/tap/git-alerts
3535
go install github.com/boringtools/git-alerts@main
3636
```
3737

38-
Setup GitHub personal access token [(PAT)](https://github.com/boringtools/git-alerts/blob/main/docs/github.md) as the environment variable
38+
Setup GitHub personal access token [(PAT)](https://github.com/boringtools/git-alerts/blob/main/docs/github.md) as the environment variable, without PAT GitHub will only allow `60` request per hour.
3939

4040
```bash
4141
export GITHUB_PAT=YOUR_GITHUB_PAT

common/common.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ import (
88
"github.com/boringtools/git-alerts/logger"
99
)
1010

11+
var (
12+
Auth bool
13+
)
14+
1115
func GetTime() (date string) {
1216
time := time.Now()
1317
date = time.Format("Mon Jan 2 15:04:05 MST 2006")
@@ -25,9 +29,8 @@ func StartChecks() {
2529
_, isGitHubPat := os.LookupEnv("GITHUB_PAT")
2630
_, isSlackHook := os.LookupEnv("SLACK_HOOK")
2731

28-
if !isGitHubPat {
29-
logger.LogERR("GITHUB_PAT is not configured in ENV variable")
30-
os.Exit(1)
32+
if isGitHubPat {
33+
Auth = true
3134
}
3235

3336
if os.Getenv("slack") == "true" {

gh/get_org_users.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"os"
66
"strconv"
77

8+
"github.com/boringtools/git-alerts/common"
89
"github.com/boringtools/git-alerts/config"
910
"github.com/boringtools/git-alerts/logger"
1011
)
@@ -32,7 +33,7 @@ func GetUsers() (jsonData []byte) {
3233
parameters := map[string]string{
3334
"per_page": "100",
3435
}
35-
ghResponse, pageLength := GetResponse(url, parameters)
36+
ghResponse, pageLength := GetResponse(url, common.Auth, parameters)
3637

3738
if pageLength == 0 {
3839

@@ -47,7 +48,7 @@ func GetUsers() (jsonData []byte) {
4748
} else {
4849
for i := 1; i <= pageLength; i++ {
4950
parameters["page"] = strconv.Itoa(i)
50-
ghResponse, _ := GetResponse(url, parameters)
51+
ghResponse, _ := GetResponse(url, common.Auth, parameters)
5152

5253
json.Unmarshal(ghResponse, &user)
5354
allUsers = append(allUsers, user...)

gh/get_pat_limit.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"os"
66
"time"
77

8+
"github.com/boringtools/git-alerts/common"
89
"github.com/boringtools/git-alerts/config"
910
"github.com/boringtools/git-alerts/logger"
1011
)
@@ -24,7 +25,7 @@ func CheckPatLimit() {
2425
url := config.GhUrls()[1]
2526
parameters := map[string]string{}
2627

27-
ghResponse, _ := GetResponse(url, parameters)
28+
ghResponse, _ := GetResponse(url, common.Auth, parameters)
2829
json.Unmarshal(ghResponse, &limit)
2930

3031
remaining := limit.Rate.Remaining
@@ -33,12 +34,13 @@ func CheckPatLimit() {
3334
date := time.Format("Mon Jan 2 15:04:05 MST 2006")
3435

3536
if remaining <= 10 {
36-
logger.LogERR("GitHub PAT limit exceeded")
37-
logger.LogERR("Please try once the limit reset")
37+
logger.LogERR("GitHub request limit exceeded")
38+
logger.LogERR("Please try again once the limit reset or try with GitHub PAT")
39+
logger.LogERRP("Remaining request limit : ", remaining)
3840
logger.LogERRP("Reset time : ", date)
3941
os.Exit(1)
4042
}
4143

42-
logger.LogP("Remaining PAT limit : ", remaining)
44+
logger.LogP("Remaining request limit : ", remaining)
4345

4446
}

gh/get_response.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ var (
1616
pageLength int
1717
)
1818

19-
func GetResponse(ghURL string, params map[string]string) ([]byte, int) {
19+
func GetResponse(ghURL string, auth bool, params map[string]string) ([]byte, int) {
2020

2121
parameters := url.Values{}
2222

@@ -28,14 +28,17 @@ func GetResponse(ghURL string, params map[string]string) ([]byte, int) {
2828
client := &http.Client{}
2929

3030
request, errRequest := http.NewRequest("GET", fullURL, nil)
31-
pat := "token " + os.Getenv("GITHUB_PAT")
3231

3332
if errRequest != nil {
3433
logger.LogERR("GetResponse - Error in making HTTP calls to GitHub")
3534
panic(errRequest)
3635
}
3736

38-
request.Header.Add("Authorization", pat)
37+
if auth {
38+
pat := "token " + os.Getenv("GITHUB_PAT")
39+
request.Header.Add("Authorization", pat)
40+
}
41+
3942
response, errResponse := client.Do(request)
4043

4144
if errResponse != nil {

gh/get_users_repos.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func GetUsersRepos() (jsonData []byte) {
4444
}
4545
for _, value := range rURL {
4646

47-
usersRepo, _ := GetResponse(value.URL, parameters)
47+
usersRepo, _ := GetResponse(value.URL, common.Auth, parameters)
4848

4949
json.Unmarshal(usersRepo, &repos)
5050
allRepos = append(allRepos, repos...)

0 commit comments

Comments
 (0)