go-selfupdate icon indicating copy to clipboard operation
go-selfupdate copied to clipboard

Add github pat token option for downloadReleaseAssetFromURL

Open gerbil opened this issue 1 year ago • 0 comments

func downloadReleaseAssetFromURL(ctx context.Context, url string) (rc io.ReadCloser, err error) {
	client := http.DefaultClient
	req, err := http.NewRequest(http.MethodGet, url, nil)
	if err != nil {
		return nil, err
	}
	req = req.WithContext(ctx)
	req.Header.Set("Accept", "*/*")

	req.Header.Set("Authorization", "Bearer $TOKEN")
	req.Header.Set("X-GitHub-Api-Version", "2022-11-28")

	resp, err := client.Do(req)
	if err != nil {
		return nil, fmt.Errorf("failed to download a release file from %s: %w", url, err)
	}
	if resp.StatusCode >= 300 {
		resp.Body.Close()
		return nil, fmt.Errorf("failed to download a release file from %s: HTTP %d", url, resp.StatusCode)
	}
	return resp.Body, nil
}

gerbil avatar Oct 21 '24 09:10 gerbil