cli/pkg/cmd/extension/browse/rg.go
2022-11-08 10:51:20 -08:00

33 lines
685 B
Go

package browse
import (
"net/http"
"time"
"github.com/cli/cli/v2/api"
"github.com/cli/cli/v2/internal/ghrepo"
"github.com/cli/cli/v2/pkg/cmd/repo/view"
)
type readmeGetter struct {
client *http.Client
}
func newReadmeGetter(client *http.Client, cacheTTL time.Duration) *readmeGetter {
cachingClient := api.NewCachedHTTPClient(client, cacheTTL)
return &readmeGetter{
client: cachingClient,
}
}
func (g *readmeGetter) Get(repoFullName string) (string, error) {
repo, err := ghrepo.FromFullName(repoFullName)
if err != nil {
return "", err
}
readme, err := view.RepositoryReadme(g.client, repo, "")
if err != nil {
return "", err
}
return readme.Content, nil
}