Skip to content
Prev Previous commit
Next Next commit
fix: use direct NewClient calls instead of gogithub.Option slice
gogithub.Option is not an exported type, so we cannot store options
in a slice. Use separate NewClient calls for each auth path instead.
  • Loading branch information
pyama86 committed May 27, 2026
commit f3ad678ceb6510c02bf127ccc3b499ff868a1620
19 changes: 12 additions & 7 deletions internal/ghmcp/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,14 +74,19 @@ func createGitHubClients(cfg github.MCPServerConfig, apiHost utils.APIHostResolv
Transport: baseTransport,
Agent: fmt.Sprintf("github-mcp-server/%s", cfg.Version),
}
restClientOpts := []gogithub.Option{
gogithub.WithHTTPClient(&http.Client{Transport: restUATransport}),
gogithub.WithEnterpriseURLs(restURL.String(), uploadURL.String()),
}
if authTransport == nil {
restClientOpts = append(restClientOpts, gogithub.WithAuthToken(cfg.Token))
var restClient *gogithub.Client
if authTransport != nil {
restClient, err = gogithub.NewClient(
gogithub.WithHTTPClient(&http.Client{Transport: restUATransport}),
gogithub.WithEnterpriseURLs(restURL.String(), uploadURL.String()),
)
} else {
restClient, err = gogithub.NewClient(
gogithub.WithHTTPClient(&http.Client{Transport: restUATransport}),
gogithub.WithAuthToken(cfg.Token),
gogithub.WithEnterpriseURLs(restURL.String(), uploadURL.String()),
)
}
restClient, err := gogithub.NewClient(restClientOpts...)
if err != nil {
return nil, fmt.Errorf("failed to create REST client: %w", err)
}
Expand Down