github.com/ungtb10d/cli/v2@v2.0.0-20221110210412-98537dd9d6a1/pkg/cmd/extension/browse/rg.go (about) 1 package browse 2 3 import ( 4 "net/http" 5 "time" 6 7 "github.com/ungtb10d/cli/v2/api" 8 "github.com/ungtb10d/cli/v2/internal/ghrepo" 9 "github.com/ungtb10d/cli/v2/pkg/cmd/repo/view" 10 ) 11 12 type readmeGetter struct { 13 client *http.Client 14 } 15 16 func newReadmeGetter(client *http.Client, cacheTTL time.Duration) *readmeGetter { 17 cachingClient := api.NewCachedHTTPClient(client, cacheTTL) 18 return &readmeGetter{ 19 client: cachingClient, 20 } 21 } 22 23 func (g *readmeGetter) Get(repoFullName string) (string, error) { 24 repo, err := ghrepo.FromFullName(repoFullName) 25 if err != nil { 26 return "", err 27 } 28 readme, err := view.RepositoryReadme(g.client, repo, "") 29 if err != nil { 30 return "", err 31 } 32 return readme.Content, nil 33 }