builder/common: Error on non-200 download responses [GH-141]
This commit is contained in:
parent
308205cc6f
commit
abc2bc60ab
|
@ -14,6 +14,8 @@ IMPROVEMENTS:
|
||||||
|
|
||||||
BUG FIXES:
|
BUG FIXES:
|
||||||
|
|
||||||
|
* core: Non-200 response codes on downloads now show proper errors.
|
||||||
|
[GH-141]
|
||||||
* vagrant: The `BuildName` template propery works properly in
|
* vagrant: The `BuildName` template propery works properly in
|
||||||
the output path.
|
the output path.
|
||||||
* vagrant: Properly configure the provider-specific post-processors so
|
* vagrant: Properly configure the provider-specific post-processors so
|
||||||
|
|
|
@ -107,6 +107,9 @@ func (d *DownloadClient) Get() (string, error) {
|
||||||
|
|
||||||
log.Printf("Downloading: %s", url.String())
|
log.Printf("Downloading: %s", url.String())
|
||||||
err = d.downloader.Download(f, url)
|
err = d.downloader.Download(f, url)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.config.Hash != nil {
|
if d.config.Hash != nil {
|
||||||
|
@ -160,11 +163,22 @@ func (*HTTPDownloader) Cancel() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *HTTPDownloader) Download(dst io.Writer, src *url.URL) error {
|
func (d *HTTPDownloader) Download(dst io.Writer, src *url.URL) error {
|
||||||
|
log.Printf("Starting download: %s", src.String())
|
||||||
resp, err := http.Get(src.String())
|
resp, err := http.Get(src.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if resp.StatusCode != 200 {
|
||||||
|
log.Printf(
|
||||||
|
"Non-200 status code: %d. Getting error body.", resp.StatusCode)
|
||||||
|
|
||||||
|
errorBody := new(bytes.Buffer)
|
||||||
|
io.Copy(errorBody, resp.Body)
|
||||||
|
return fmt.Errorf("HTTP error '%d'! Remote side responded:\n%s",
|
||||||
|
resp.StatusCode, errorBody.String())
|
||||||
|
}
|
||||||
|
|
||||||
d.progress = 0
|
d.progress = 0
|
||||||
d.total = uint(resp.ContentLength)
|
d.total = uint(resp.ContentLength)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue