Files
gitea-mcp/pkg/gitea/gitea.go
2025-03-16 00:21:29 +08:00

41 lines
666 B
Go

package gitea
import (
"os"
"sync"
"gitea.com/gitea/gitea-mcp/pkg/flag"
"gitea.com/gitea/gitea-mcp/pkg/log"
"code.gitea.io/sdk/gitea"
)
var (
client *gitea.Client
clientOnce sync.Once
)
func Client() *gitea.Client {
clientOnce.Do(func() {
if client == nil {
host, token := flag.Host, flag.Token
if host == "" {
host = os.Getenv("GITEA_HOST")
}
if host == "" {
host = "https://gitea.com"
}
if token == "" {
token = os.Getenv("GITEA_TOKEN")
}
c, err := gitea.NewClient(host, gitea.SetToken(token))
if err != nil {
log.Fatalf("create gitea client err: %v", err)
}
client = c
}
})
return client
}