|
|
@@ -163,10 +163,9 @@ func NetCheck(netCheck string) bool {
|
|
|
return internet
|
|
|
}
|
|
|
|
|
|
-func CheckVersion() bool {
|
|
|
+func CheckVersion() (structs.Version, bool) {
|
|
|
const retries = 10
|
|
|
const delay = time.Second
|
|
|
- var version structs.Version
|
|
|
url := globalConfig.UpdateUrl
|
|
|
for i := 0; i < retries; i++ {
|
|
|
resp, err := http.Get(url)
|
|
|
@@ -177,7 +176,7 @@ func CheckVersion() bool {
|
|
|
time.Sleep(delay)
|
|
|
continue
|
|
|
} else {
|
|
|
- return false
|
|
|
+ return VersionInfo, false
|
|
|
}
|
|
|
}
|
|
|
body, err := ioutil.ReadAll(resp.Body)
|
|
|
@@ -189,10 +188,10 @@ func CheckVersion() bool {
|
|
|
time.Sleep(delay)
|
|
|
continue
|
|
|
} else {
|
|
|
- return false
|
|
|
+ return VersionInfo, false
|
|
|
}
|
|
|
}
|
|
|
- err = json.Unmarshal(body, &version)
|
|
|
+ err = json.Unmarshal(body, &VersionInfo)
|
|
|
if err != nil {
|
|
|
errmsg := fmt.Sprintf("Error unmarshalling JSON: %v", err)
|
|
|
logger.Warn(errmsg)
|
|
|
@@ -200,24 +199,11 @@ func CheckVersion() bool {
|
|
|
time.Sleep(delay)
|
|
|
continue
|
|
|
} else {
|
|
|
- return false
|
|
|
+ return VersionInfo, false
|
|
|
}
|
|
|
}
|
|
|
- versionUpdate := map[string]interface{}{
|
|
|
- "VersionInfo": version,
|
|
|
- }
|
|
|
- err = UpdateConf(versionUpdate)
|
|
|
- if err != nil {
|
|
|
- errmsg := fmt.Sprintf("Error updating version config: %v", err)
|
|
|
- logger.Warn(errmsg)
|
|
|
- if i < retries-1 {
|
|
|
- time.Sleep(delay)
|
|
|
- continue
|
|
|
- } else {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- return true
|
|
|
+ fmt.Println(VersionInfo)
|
|
|
+ return VersionInfo, true
|
|
|
}
|
|
|
- return false
|
|
|
+ return VersionInfo, false
|
|
|
}
|