From 96b3f8cc6c8c169a8f90eb7b48673327d1d41802 Mon Sep 17 00:00:00 2001 From: detailyang Date: Tue, 15 Jan 2019 15:12:03 +0800 Subject: [PATCH] web.download: return false ASAP if meet the error --- src/nvm/web/web.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/nvm/web/web.go b/src/nvm/web/web.go index c935d59..2b5e5c2 100644 --- a/src/nvm/web/web.go +++ b/src/nvm/web/web.go @@ -58,12 +58,14 @@ func Download(url string, target string, version string) bool { output, err := os.Create(target) if err != nil { fmt.Println("Error while creating", target, "-", err) + return false } defer output.Close() response, err := client.Get(url) if err != nil { fmt.Println("Error while downloading", url, "-", err) + return false } defer response.Body.Close() c := make(chan os.Signal, 2) @@ -87,12 +89,14 @@ func Download(url string, target string, version string) bool { _, err = io.Copy(output, response.Body) if err != nil { fmt.Println("Error while downloading", url, "-", err) + return false } if response.Status[0:3] != "200" { fmt.Println("Download failed. Rolling Back.") err := os.Remove(target) if err != nil { fmt.Println("Rollback failed.",err) + return false } return false }