From 8750c06c75b3913bd64f8606eca18bf5dea71c05 Mon Sep 17 00:00:00 2001 From: Justen Walker Date: Fri, 10 Jul 2020 10:53:01 -0400 Subject: [PATCH] fix: set progress bar desc to shorter string Set the progress bar description to a shorter string. The full URL to the kubectl binary causes the progress bar to break. Setting it to something more meaningful like the version of kubectl currently downloading seems like a reasonable alternative. --- internal/downloader/download.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/downloader/download.go b/internal/downloader/download.go index f6ca5a8..894ae6c 100644 --- a/internal/downloader/download.go +++ b/internal/downloader/download.go @@ -67,7 +67,7 @@ func (d *Downloder) GetKubectlBinary(version semver.Version, destination string) } } - return d.download(downloadURL, destination, 0755) + return d.download(fmt.Sprintf("kubectl%s%s", version, osexec.Ext), downloadURL, destination, 0755) } func (d *Downloder) kubectlDownloadURL(v semver.Version) (string, error) { @@ -88,7 +88,7 @@ func (d *Downloder) kubectlDownloadURL(v semver.Version) (string, error) { return u.String(), nil } -func (d *Downloder) download(urlToGet, destination string, mode os.FileMode) error { +func (d *Downloder) download(desc, urlToGet, destination string, mode os.FileMode) error { req, err := http.NewRequest("GET", urlToGet, nil) if err != nil { return fmt.Errorf( @@ -122,11 +122,13 @@ func (d *Downloder) download(urlToGet, destination string, mode os.FileMode) err // write progress to stderr, writing to stdout would // break bash/zsh/shell completion + fmt.Fprintf(os.Stderr, "Downloading %s\n", urlToGet) bar := progressbar.NewOptions( int(resp.ContentLength), - progressbar.OptionSetDescription(urlToGet), + progressbar.OptionSetDescription(desc), progressbar.OptionSetWriter(os.Stderr), progressbar.OptionShowBytes(true), + progressbar.OptionSetWidth(40), progressbar.OptionThrottle(10*time.Millisecond), progressbar.OptionShowCount(), progressbar.OptionOnCompletion(func() {