Fix issues with progress == nil causing panics

Part of PR #459

This prepares for more methods to be exposed via the API.
This commit is contained in:
Andrey Smirnov
2019-09-03 12:57:44 +03:00
committed by Oliver Sauder
parent 98e75f6d97
commit 769e984ef4
2 changed files with 22 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ import (
"context"
"fmt"
"io"
"io/ioutil"
"net"
"net/http"
"net/url"
@@ -53,11 +54,16 @@ func NewDownloader(downLimit int64, maxTries int, progress aptly.Progress) aptly
},
}
progressWriter := io.Writer(progress)
if progress == nil {
progressWriter = ioutil.Discard
}
downloader.client.CheckRedirect = downloader.checkRedirect
if downLimit > 0 {
downloader.aggWriter = flowrate.NewWriter(progress, downLimit)
downloader.aggWriter = flowrate.NewWriter(progressWriter, downLimit)
} else {
downloader.aggWriter = progress
downloader.aggWriter = progressWriter
}
return downloader