mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-07 05:42:42 +00:00
fix throttled downloader
This commit is contained in:
+8
-14
@@ -46,24 +46,22 @@ func NewDownloader(downLimit int64, maxTries int, progress aptly.Progress) aptly
|
|||||||
transport.RegisterProtocol("ftp", &protocol.FTPRoundTripper{})
|
transport.RegisterProtocol("ftp", &protocol.FTPRoundTripper{})
|
||||||
|
|
||||||
downloader := &downloaderImpl{
|
downloader := &downloaderImpl{
|
||||||
progress: progress,
|
progress: progress,
|
||||||
maxTries: maxTries,
|
maxTries: maxTries,
|
||||||
|
aggWriter: io.Writer(progress),
|
||||||
client: &http.Client{
|
client: &http.Client{
|
||||||
Transport: &transport,
|
Transport: &transport,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
progressWriter := io.Writer(progress)
|
|
||||||
if progress == nil {
|
if progress == nil {
|
||||||
progressWriter = io.Discard
|
downloader.aggWriter = io.Discard
|
||||||
|
}
|
||||||
|
if downLimit > 0 {
|
||||||
|
downloader.aggWriter = flowrate.NewWriter(progress, downLimit)
|
||||||
}
|
}
|
||||||
|
|
||||||
downloader.client.CheckRedirect = downloader.checkRedirect
|
downloader.client.CheckRedirect = downloader.checkRedirect
|
||||||
if downLimit > 0 {
|
|
||||||
downloader.aggWriter = flowrate.NewWriter(progressWriter, downLimit)
|
|
||||||
} else {
|
|
||||||
downloader.aggWriter = progressWriter
|
|
||||||
}
|
|
||||||
|
|
||||||
return downloader
|
return downloader
|
||||||
}
|
}
|
||||||
@@ -260,11 +258,7 @@ func (downloader *downloaderImpl) download(req *http.Request, url, destination s
|
|||||||
defer outfile.Close()
|
defer outfile.Close()
|
||||||
|
|
||||||
checksummer := utils.NewChecksumWriter()
|
checksummer := utils.NewChecksumWriter()
|
||||||
writers := []io.Writer{outfile}
|
writers := []io.Writer{outfile, downloader.aggWriter}
|
||||||
|
|
||||||
if downloader.progress != nil {
|
|
||||||
writers = append(writers, downloader.progress)
|
|
||||||
}
|
|
||||||
|
|
||||||
if expected != nil {
|
if expected != nil {
|
||||||
writers = append(writers, checksummer)
|
writers = append(writers, checksummer)
|
||||||
|
|||||||
Reference in New Issue
Block a user