From 25d7d7c037566c23485ab1b2446ca5d67d1777ca Mon Sep 17 00:00:00 2001 From: Oliver Sauder Date: Fri, 25 Nov 2016 16:25:09 +0100 Subject: [PATCH] Solving progress not safe issue for api Progress is not safe so for api its always nil and code needs to take care of this --- deb/remote.go | 12 +++++++----- http/download.go | 7 ++++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/deb/remote.go b/deb/remote.go index 266c2466..0b7d71e5 100644 --- a/deb/remote.go +++ b/deb/remote.go @@ -550,12 +550,14 @@ func (repo *RemoteRepo) DownloadPackageIndexes(progress aptly.Progress, d aptly. } } err = repo.packageList.Add(p) - if _, ok := err.(*PackageConflictError); ok { - if progress != nil { - progress.ColoredPrintf("@y[!]@| @!skipping package %s: duplicate in packages index@|", p) + if err != nil { + if _, ok := err.(*PackageConflictError); ok { + if progress != nil { + progress.ColoredPrintf("@y[!]@| @!skipping package %s: duplicate in packages index@|", p) + } + } else if err != nil { + return err } - } else if err != nil { - return err } } diff --git a/http/download.go b/http/download.go index 402ac49e..2b237b84 100644 --- a/http/download.go +++ b/http/download.go @@ -152,6 +152,7 @@ func retryableError(err error) bool { func (downloader *downloaderImpl) newRequest(ctx context.Context, method, url string) (*http.Request, error) { req, err := http.NewRequest(method, url, nil) + if err != nil { return nil, errors.Wrap(err, url) } @@ -230,7 +231,11 @@ func (downloader *downloaderImpl) download(req *http.Request, url, destination s defer outfile.Close() checksummer := utils.NewChecksumWriter() - writers := []io.Writer{outfile, downloader.aggWriter} + writers := []io.Writer{outfile} + + if downloader.progress != nil { + writers = append(writers, downloader.progress) + } if expected != nil { writers = append(writers, checksummer)