Skip to content
This repository was archived by the owner on May 11, 2025. It is now read-only.

Commit 86e3780

Browse files
committed
add conf
1 parent 72c612d commit 86e3780

4 files changed

Lines changed: 44 additions & 13 deletions

File tree

api.go

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,16 @@ import (
55
"github.com/sirupsen/logrus"
66
"io"
77
"net/http"
8-
"os"
9-
"strings"
108
)
119

12-
func GetToken() []string {
13-
data := os.Getenv("TOKEN")
14-
return strings.Split(data, "|")
15-
}
16-
17-
func Get(uri string, token string) (res map[string]interface{}, err error) {
10+
func Get(uri string) (res map[string]interface{}, err error) {
1811
req, err := http.NewRequest("GET", "https://api.github.com/"+uri, nil)
1912
if err != nil {
2013
return nil, err
2114
}
2215

2316
req.Header.Set("Accept", "application/json")
24-
req.Header.Set("Authorization", "Bearer "+token)
17+
req.Header.Set("Authorization", "Bearer "+GetToken())
2518

2619
client := &http.Client{}
2720
resp, err := client.Do(req)

conf.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"log"
6+
"math/rand"
7+
"os"
8+
"strings"
9+
"time"
10+
)
11+
12+
var tokenList []string
13+
14+
func GetToken() string {
15+
source := rand.NewSource(time.Now().UnixNano())
16+
idx := rand.New(source).Intn(len(tokenList))
17+
return tokenList[idx]
18+
}
19+
20+
func GetTokenFromEnv() []string {
21+
data := strings.TrimSpace(os.Getenv("TOKEN"))
22+
tokenList = strings.Split(data, "|")
23+
result := make([]string, 0)
24+
for _, token := range tokenList {
25+
if strings.HasPrefix(token, "ghp_") {
26+
result = append(result, token)
27+
}
28+
}
29+
return result
30+
}
31+
32+
func ValidateToken() {
33+
if len(tokenList) == 0 {
34+
log.Fatal("No token found!")
35+
}
36+
logger.Debug(fmt.Sprintf("Found %d available token(s).", len(tokenList)))
37+
}

logger.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import (
77
"time"
88
)
99

10+
var logger = logrus.New()
11+
1012
type Formatter struct {
1113
}
1214

main.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package main
22

33
import (
4-
"fmt"
54
"github.com/sirupsen/logrus"
65
)
76

87
func main() {
9-
logger := logrus.New()
108
logger.SetLevel(logrus.DebugLevel)
119
logger.SetFormatter(&Formatter{})
1210

13-
tokens := GetToken()
14-
fmt.Println(tokens)
11+
tokenList = GetTokenFromEnv()
12+
ValidateToken()
13+
1514
}

0 commit comments

Comments
 (0)