diff options
author | Flavio Castelli <fcastelli@suse.com> | 2017-05-26 15:46:22 +0200 |
---|---|---|
committer | Flavio Castelli <fcastelli@suse.com> | 2017-05-26 15:48:06 +0200 |
commit | 8aab6118f495e72905a6961672156d49221679aa (patch) | |
tree | 27f90ebde66c08b43fbd49ed86672abaf8949cea | |
parent | 686015805f14b93e7ef4d6d5a5655ab2b8154b79 (diff) | |
download | terraform-provider-libvirt-8aab6118f495e72905a6961672156d49221679aa.tar terraform-provider-libvirt-8aab6118f495e72905a6961672156d49221679aa.tar.gz |
Replace cryptic error with better one
When the remote source was not found the check for its size failed
because the size was empty, causing the to integer conversion to fail.
The new code ensures the remote file exists before trying to convert
its size.
Signed-off-by: Flavio Castelli <fcastelli@suse.com>
-rw-r--r-- | libvirt/utils_volume.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libvirt/utils_volume.go b/libvirt/utils_volume.go index 6793124c..594d1f68 100644 --- a/libvirt/utils_volume.go +++ b/libvirt/utils_volume.go @@ -76,8 +76,21 @@ func (i *httpImage) Size() (uint64, error) { if err != nil { return 0, err } + if response.StatusCode != 200 { + return 0, + fmt.Errorf( + "Error accessing remote resource: %s - %s", + i.url.String(), + response.Status) + } + length, err := strconv.Atoi(response.Header.Get("Content-Length")) if err != nil { + err = fmt.Errorf( + "Error while getting Content-Length of \"%s\": %s - got %s", + i.url.String(), + err, + response.Header.Get("Content-Length")) return 0, err } return uint64(length), nil |