From 02275a1221ed84a79432a419e8108368dd18c235 Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Tue, 13 Jul 2021 17:47:32 +0800 Subject: [PATCH] mod error judge --- models/cloudbrain.go | 2 +- modules/cloudbrain/resty.go | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/models/cloudbrain.go b/models/cloudbrain.go index c8000c5a6..15790faa7 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -300,7 +300,7 @@ type CommitImageResult struct { Payload map[string]interface{} `json:"payload"` } -type StopJobResult struct { +type CloudBrainResult struct { Code string `json:"code"` Msg string `json:"msg"` } diff --git a/modules/cloudbrain/resty.go b/modules/cloudbrain/resty.go index ed6157776..fa9b25011 100755 --- a/modules/cloudbrain/resty.go +++ b/modules/cloudbrain/resty.go @@ -2,6 +2,7 @@ package cloudbrain import ( "code.gitea.io/gitea/modules/log" + "encoding/json" "fmt" "code.gitea.io/gitea/models" @@ -143,14 +144,26 @@ sendjob: return nil, fmt.Errorf("resty GetImages: %v", err) } - if getImagesResult.Code == "S401" && retry < 1 { + var response models.CloudBrainResult + err = json.Unmarshal(res.Body(), &response) + if err != nil { + log.Error("json.Unmarshal failed: %s", err.Error()) + return &getImagesResult, fmt.Errorf("json.Unmarshal failed: %s", err.Error()) + } + + if response.Code == "S401" && retry < 1 { retry++ _ = loginCloudbrain() goto sendjob } + if len(response.Code) != 0 { + log.Error("getImagesResult failed(%s): %s", response.Code, response.Msg) + return &getImagesResult, fmt.Errorf("getImagesResult failed(%s): %s", response.Code, response.Msg) + } + if getImagesResult.Code != Success { - return &getImagesResult, fmt.Errorf("getImgesResult err: %s", res.String()) + return &getImagesResult, fmt.Errorf("getImagesResult err: %s", res.String()) } return &getImagesResult, nil @@ -223,7 +236,7 @@ sendjob: func StopJob(jobID string) error { checkSetting() client := getRestyClient() - var result models.StopJobResult + var result models.CloudBrainResult retry := 0