MCPcopy Create free account
hub / github.com/AndroidPoet/playconsole-cli / GetReleases

Method GetReleases

internal/api/github.go:44–71  ·  view source on GitHub ↗

GetReleases fetches all releases from GitHub

()

Source from the content-addressed store, hash-verified

42
43// GetReleases fetches all releases from GitHub
44func (c *GitHubClient) GetReleases() ([]GitHubRelease, error) {
45 req, err := http.NewRequest("GET", githubAPIURL, nil)
46 if err != nil {
47 return nil, fmt.Errorf("failed to create request: %w", err)
48 }
49
50 req.Header.Set("Accept", "application/vnd.github.v3+json")
51 req.Header.Set("User-Agent", "playconsole-cli")
52
53 resp, err := c.httpClient.Do(req)
54 if err != nil {
55 return nil, fmt.Errorf("failed to fetch releases: %w", err)
56 }
57 defer func() {
58 _ = resp.Body.Close()
59 }()
60
61 if resp.StatusCode != http.StatusOK {
62 return nil, fmt.Errorf("GitHub API returned status %d", resp.StatusCode)
63 }
64
65 var releases []GitHubRelease
66 if err := json.NewDecoder(resp.Body).Decode(&releases); err != nil {
67 return nil, fmt.Errorf("failed to decode response: %w", err)
68 }
69
70 return releases, nil
71}
72
73// GetTotalDownloads returns the total download count across all releases
74func (c *GitHubClient) GetTotalDownloads() (int64, error) {

Callers 3

GetTotalDownloadsMethod · 0.95
GetDownloadsByReleaseMethod · 0.95

Calls 1

CloseMethod · 0.80

Tested by

no test coverage detected