Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit89d4dae

Browse files
committed
move token source to flag
1 parentec5f272 commit89d4dae

File tree

3 files changed

+68
-53
lines changed

3 files changed

+68
-53
lines changed

‎cmd/github-mcp-server/main.go

Lines changed: 64 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ import (
99
"os/signal"
1010
"syscall"
1111

12-
"github.com/cli/go-gh/v2/pkg/api"
12+
"github.com/cli/go-gh/pkg/auth"
1313
"github.com/github/github-mcp-server/pkg/github"
1414
iolog"github.com/github/github-mcp-server/pkg/log"
1515
"github.com/github/github-mcp-server/pkg/translations"
1616
gogithub"github.com/google/go-github/v69/github"
17+
"github.com/mark3labs/mcp-go/mcp"
1718
"github.com/mark3labs/mcp-go/server"
1819
log"github.com/sirupsen/logrus"
1920
"github.com/spf13/cobra"
@@ -24,9 +25,12 @@ var version = "version"
2425
varcommit="commit"
2526
vardate="date"
2627

28+
varrootCommandName="github-mcp-server"
29+
vardefaultTokenSource="env"
30+
2731
var (
2832
rootCmd=&cobra.Command{
29-
Use:"server",
33+
Use:rootCommandName,
3034
Short:"GitHub MCP Server",
3135
Long:`A GitHub MCP server that handles various tools and resources.`,
3236
Version:fmt.Sprintf("%s (%s) %s",version,commit,date),
@@ -67,13 +71,15 @@ func init() {
6771
rootCmd.PersistentFlags().Bool("enable-command-logging",false,"When enabled, the server will log all command requests and responses to the log file")
6872
rootCmd.PersistentFlags().Bool("export-translations",false,"Save translations to a JSON file")
6973
rootCmd.PersistentFlags().String("gh-host","","Specify the GitHub hostname (for GitHub Enterprise etc.)")
74+
rootCmd.PersistentFlags().String("token-source",defaultTokenSource,"Authentication token source (e.g. env, gh)")
7075

7176
// Bind flag to viper
7277
_=viper.BindPFlag("read-only",rootCmd.PersistentFlags().Lookup("read-only"))
7378
_=viper.BindPFlag("log-file",rootCmd.PersistentFlags().Lookup("log-file"))
7479
_=viper.BindPFlag("enable-command-logging",rootCmd.PersistentFlags().Lookup("enable-command-logging"))
7580
_=viper.BindPFlag("export-translations",rootCmd.PersistentFlags().Lookup("export-translations"))
7681
_=viper.BindPFlag("gh-host",rootCmd.PersistentFlags().Lookup("gh-host"))
82+
_=viper.BindPFlag("token-source",rootCmd.PersistentFlags().Lookup("token-source"))
7783

7884
// Add subcommands
7985
rootCmd.AddCommand(stdioCmd)
@@ -109,36 +115,77 @@ type runConfig struct {
109115
exportTranslationsbool
110116
}
111117

112-
funcrunStdioServer(cfgrunConfig)error {
113-
// Create app context
114-
ctx,stop:=signal.NotifyContext(context.Background(),os.Interrupt,syscall.SIGTERM)
115-
deferstop()
118+
funcgetToken(hoststring) (string,error) {
119+
token_source:=viper.GetString("token-source")
120+
switchtoken_source {
121+
case"env":
122+
token:=os.Getenv("GITHUB_PERSONAL_ACCESS_TOKEN")
123+
iftoken=="" {
124+
return"",fmt.Errorf("GITHUB_PERSONAL_ACCESS_TOKEN not set")
125+
}
126+
returntoken,nil
127+
case"gh":
128+
token,err:=auth.TokenForHost(host)
129+
iferr=="default" {
130+
return"",fmt.Errorf("no token found for host: %s",host)
131+
}
132+
returntoken,nil
133+
}
134+
return"",fmt.Errorf("unknown token source: %s",token_source)
135+
}
116136

117-
// Check GH_HOST env var first, then fall back to viper config
137+
funcgetHost()string {
118138
host:=os.Getenv("GH_HOST")
119139
ifhost=="" {
120140
host=viper.GetString("gh-host")
121141
}
142+
returnhost
143+
}
122144

123-
// Create GitHub API client
124-
httpClient,err:=api.NewHTTPClient(api.ClientOptions{
125-
Host:host,
126-
AuthToken:os.Getenv("GITHUB_PERSONAL_ACCESS_TOKEN"),
127-
})
145+
funcnewGitHubClient() (*gogithub.Client,error) {
146+
host:=getHost()
147+
token,err:=getToken(host)
128148
iferr!=nil {
129-
cfg.logger.Fatalf("failed to create HTTP client: %v",err)
149+
returnnil,fmt.Errorf("failed to get token: %w",err)
150+
}
151+
ghClient:=gogithub.NewClient(nil).WithAuthToken(token)
152+
ifhost!="" {
153+
ghClient,err=ghClient.WithEnterpriseURLs(host,host)
154+
iferr!=nil {
155+
returnnil,fmt.Errorf("failed to create GitHub client with host: %w",err)
156+
}
130157
}
131-
ghClient:=gogithub.NewClient(httpClient)
132158
ghClient.UserAgent=fmt.Sprintf("github-mcp-server/%s",version)
159+
returnghClient,nil
160+
}
161+
162+
funcrunStdioServer(cfgrunConfig)error {
163+
// Create app context
164+
ctx,stop:=signal.NotifyContext(context.Background(),os.Interrupt,syscall.SIGTERM)
165+
deferstop()
166+
167+
// Create GH client
168+
ghClient,err:=newGitHubClient()
169+
iferr!=nil {
170+
cfg.logger.Fatalf("failed to create GitHub client: %v",err)
171+
}
172+
173+
t,dumpTranslations:=translations.TranslationHelper()
174+
175+
beforeInit:=func(_ context.Context,_any,message*mcp.InitializeRequest) {
176+
ghClient.UserAgent=fmt.Sprintf("github-mcp-server/%s (%s/%s)",version,message.Params.ClientInfo.Name,message.Params.ClientInfo.Version)
177+
}
133178

134179
getClient:=func(_ context.Context) (*gogithub.Client,error) {
135180
returnghClient,nil// closing over client
136181
}
137182

138-
// Create MCP server
139-
t,dumpTranslations:=translations.TranslationHelper()
183+
hooks:=&server.Hooks{
184+
OnBeforeInitialize: []server.OnBeforeInitializeFunc{beforeInit},
185+
}
140186

141-
ghServer:=github.NewServer(getClient,version,cfg.readOnly,t)
187+
// Create
188+
ghServer:=github.NewServer(getClient,version,cfg.readOnly,t,server.WithHooks(hooks))
142189
stdioServer:=server.NewStdioServer(ghServer)
143190

144191
stdLogger:=stdlog.New(cfg.logger.Writer(),"stdioserver",0)

‎go.mod

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module github.com/github/github-mcp-server
33
go1.23.7
44

55
require (
6+
github.com/cli/go-ghv1.2.1
67
github.com/docker/dockerv28.0.4+incompatible
78
github.com/google/go-cmpv0.7.0
89
github.com/google/go-github/v69v69.2.0
@@ -15,21 +16,12 @@ require (
1516
)
1617

1718
require (
18-
github.com/aymanbagabas/go-osc52/v2v2.0.1// indirect
1919
github.com/cli/safeexecv1.0.0// indirect
20-
github.com/cli/shurcooL-graphqlv0.0.4// indirect
21-
github.com/henvic/httprettyv0.0.6// indirect
22-
github.com/lucasb-eyer/go-colorfulv1.2.0// indirect
23-
github.com/mattn/go-isattyv0.0.20// indirect
24-
github.com/muesli/termenvv0.16.0// indirect
25-
github.com/rivo/unisegv0.4.7// indirect
26-
github.com/thlib/go-timezone-localv0.0.0-20210907160436-ef149e42d28e// indirect
27-
golang.org/x/termv0.30.0// indirect
20+
golang.org/x/netv0.36.0// indirect
2821
)
2922

3023
require (
3124
github.com/Microsoft/go-winiov0.6.2// indirect
32-
github.com/cli/go-gh/v2v2.12.0
3325
github.com/containerd/logv0.1.0// indirect
3426
github.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33cc// indirect
3527
github.com/distribution/referencev0.6.0// indirect

‎go.sum

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,12 @@ github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOEl
22
github.com/Azure/go-ansitermv0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
33
github.com/Microsoft/go-winiov0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
44
github.com/Microsoft/go-winiov0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
5-
github.com/aymanbagabas/go-osc52/v2v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
6-
github.com/aymanbagabas/go-osc52/v2v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
75
github.com/cenkalti/backoff/v4v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
86
github.com/cenkalti/backoff/v4v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
9-
github.com/cli/go-gh/v2v2.12.0 h1:PIurZ13fXbWDbr2//6ws4g4zDbryO+iDuTpiHgiV+6k=
10-
github.com/cli/go-gh/v2v2.12.0/go.mod h1:+5aXmEOJsH9fc9mBHfincDwnS02j2AIA/DsTH0Bk5uw=
7+
github.com/cli/go-ghv1.2.1 h1:xFrjejSsgPiwXFP6VYynKWwxLQcNJy3Twbu82ZDlR/o=
8+
github.com/cli/go-ghv1.2.1/go.mod h1:Jxk8X+TCO4Ui/GarwY9tByWm/8zp4jJktzVZNlTW5VM=
119
github.com/cli/safeexecv1.0.0 h1:0VngyaIyqACHdcMNWfo6+KdUYnqEr2Sg+bSP1pdF+dI=
1210
github.com/cli/safeexecv1.0.0/go.mod h1:Z/D4tTN8Vs5gXYHDCbaM1S/anmEDnJb1iW0+EJ5zx3Q=
13-
github.com/cli/shurcooL-graphqlv0.0.4 h1:6MogPnQJLjKkaXPyGqPRXOI2qCsQdqNfUY1QSJu2GuY=
14-
github.com/cli/shurcooL-graphqlv0.0.4/go.mod h1:3waN4u02FiZivIV+p1y4d0Jo1jc6BViMA73C+sZo2fk=
1511
github.com/containerd/logv0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
1612
github.com/containerd/logv0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
1713
github.com/cpuguy83/go-md2man/v2v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
@@ -57,10 +53,6 @@ github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
5753
github.com/gorilla/muxv1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
5854
github.com/grpc-ecosystem/grpc-gateway/v2v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg=
5955
github.com/grpc-ecosystem/grpc-gateway/v2v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ=
60-
github.com/h2non/parthv0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=
61-
github.com/h2non/parthv0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
62-
github.com/henvic/httprettyv0.0.6 h1:JdzGzKZBajBfnvlMALXXMVQWxWMF/ofTy8C3/OSUTxs=
63-
github.com/henvic/httprettyv0.0.6/go.mod h1:X38wLjWXHkXT7r2+uK8LjCMne9rsuNaBLJ+5cU2/Pmo=
6456
github.com/inconshreveable/mousetrapv1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
6557
github.com/inconshreveable/mousetrapv1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
6658
github.com/kisielk/errcheckv1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
@@ -69,12 +61,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
6961
github.com/kr/prettyv0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
7062
github.com/kr/textv0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
7163
github.com/kr/textv0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
72-
github.com/lucasb-eyer/go-colorfulv1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
73-
github.com/lucasb-eyer/go-colorfulv1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
7464
github.com/mark3labs/mcp-gov0.18.0 h1:YuhgIVjNlTG2ZOwmrkORWyPTp0dz1opPEqvsPtySXao=
7565
github.com/mark3labs/mcp-gov0.18.0/go.mod h1:KmJndYv7GIgcPVwEKJjNcbhVQ+hJGJhrCCB/9xITzpE=
76-
github.com/mattn/go-isattyv0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
77-
github.com/mattn/go-isattyv0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
7866
github.com/migueleliasweb/go-github-mockv1.1.0 h1:GKaOBPsrPGkAKgtfuWY8MclS1xR6MInkx1SexJucMwE=
7967
github.com/migueleliasweb/go-github-mockv1.1.0/go.mod h1:pYe/XlGs4BGMfRY4vmeixVsODHnVDDhJ9zoi0qzSMHc=
8068
github.com/moby/docker-image-specv1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
@@ -83,8 +71,6 @@ github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
8371
github.com/moby/termv0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
8472
github.com/morikuni/aecv1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
8573
github.com/morikuni/aecv1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
86-
github.com/muesli/termenvv0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
87-
github.com/muesli/termenvv0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
8874
github.com/opencontainers/go-digestv1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
8975
github.com/opencontainers/go-digestv1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
9076
github.com/opencontainers/image-specv1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
@@ -96,8 +82,6 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
9682
github.com/pmezard/go-difflibv1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
9783
github.com/pmezard/go-difflibv1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
9884
github.com/pmezard/go-difflibv1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
99-
github.com/rivo/unisegv0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
100-
github.com/rivo/unisegv0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
10185
github.com/rogpeppe/go-internalv1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
10286
github.com/rogpeppe/go-internalv1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
10387
github.com/russross/blackfriday/v2v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -123,8 +107,6 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
123107
github.com/stretchr/testifyv1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
124108
github.com/subosito/gotenvv1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
125109
github.com/subosito/gotenvv1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
126-
github.com/thlib/go-timezone-localv0.0.0-20210907160436-ef149e42d28e h1:BuzhfgfWQbX0dWzYzT1zsORLnHRv3bcRcsaUk0VmXA8=
127-
github.com/thlib/go-timezone-localv0.0.0-20210907160436-ef149e42d28e/go.mod h1:/Tnicc6m/lsJE0irFMA0LfIwTBo4QP7A8IfyIv4zZKI=
128110
github.com/yosida95/uritemplate/v3v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4=
129111
github.com/yosida95/uritemplate/v3v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4=
130112
github.com/yuin/goldmarkv1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -166,13 +148,9 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
166148
golang.org/x/sysv0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
167149
golang.org/x/sysv0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
168150
golang.org/x/sysv0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
169-
golang.org/x/sysv0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
170151
golang.org/x/sysv0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
171-
golang.org/x/sysv0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
172152
golang.org/x/sysv0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
173153
golang.org/x/sysv0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
174-
golang.org/x/termv0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
175-
golang.org/x/termv0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
176154
golang.org/x/textv0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
177155
golang.org/x/textv0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
178156
golang.org/x/textv0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
@@ -198,8 +176,6 @@ google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojt
198176
gopkg.in/check.v1v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
199177
gopkg.in/check.v1v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
200178
gopkg.in/check.v1v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
201-
gopkg.in/h2non/gock.v1v1.1.2 h1:jBbHXgGBK/AoPVfJh5x4r/WxIrElvbLel8TCZkkZJoY=
202-
gopkg.in/h2non/gock.v1v1.1.2/go.mod h1:n7UGz/ckNChHiK05rDoiC4MYSunEC/lyaUm2WWaDva0=
203179
gopkg.in/yaml.v3v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
204180
gopkg.in/yaml.v3v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
205181
gopkg.in/yaml.v3v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp