Browse Source

fix(cli): adds better help text.

The zip lib is throwing panics sometimes when the response is malformed.
The cli will now try to download the zip file up to three times before
aborting. The cli gives a better error message and informes the user
about retrying.

closes #4651
bergquist 9 years ago
parent
commit
70acfb2cfd
1 changed files with 6 additions and 1 deletions
  1. 6 1
      pkg/cmd/grafana-cli/commands/install_command.go

+ 6 - 1
pkg/cmd/grafana-cli/commands/install_command.go

@@ -127,9 +127,14 @@ func downloadFile(pluginName, filePath, url string) (err error) {
 		if r := recover(); r != nil {
 			retryCount++
 			if retryCount < 3 {
-				fmt.Printf("\nFailed downloading. Will retry once.\n%v\n", r)
+
+				fmt.Println("Failed downloading. Will retry once.")
 				downloadFile(pluginName, filePath, url)
 			} else {
+				failure := fmt.Sprintf("%v", r)
+				if failure == "runtime error: makeslice: len out of range" {
+					log.Errorf("Failed to extract zipped HTTP response. Please try again.\n")
+				}
 				panic(r)
 			}
 		}