Bläddra i källkod

fix(rest): Unify rule status response

Signed-off-by: Jianxiang Ran <rxan_embedded@163.com>
Jianxiang Ran 2 år sedan
förälder
incheckning
1f22af2f22
2 ändrade filer med 4 tillägg och 0 borttagningar
  1. 1 0
      internal/server/rest.go
  2. 3 0
      internal/server/rule_manager.go

+ 1 - 0
internal/server/rest.go

@@ -461,6 +461,7 @@ func getStatusRuleHandler(w http.ResponseWriter, r *http.Request) {
 		handleError(w, err, "get rule status error", logger)
 		handleError(w, err, "get rule status error", logger)
 		return
 		return
 	}
 	}
+	w.Header().Set(ContentType, ContentTypeJSON)
 	w.WriteHeader(http.StatusOK)
 	w.WriteHeader(http.StatusOK)
 	w.Write([]byte(content))
 	w.Write([]byte(content))
 }
 }

+ 3 - 0
internal/server/rule_manager.go

@@ -189,6 +189,7 @@ func getRuleStatus(name string) (string, error) {
 		if result == "Running" {
 		if result == "Running" {
 			keys, values := (*rs.Topology).GetMetrics()
 			keys, values := (*rs.Topology).GetMetrics()
 			metrics := "{"
 			metrics := "{"
+			metrics += `"status": "running",`
 			for i, key := range keys {
 			for i, key := range keys {
 				value := values[i]
 				value := values[i]
 				switch value.(type) {
 				switch value.(type) {
@@ -205,6 +206,8 @@ func getRuleStatus(name string) (string, error) {
 			} else {
 			} else {
 				result = dst.String()
 				result = dst.String()
 			}
 			}
+		} else {
+			result = fmt.Sprintf(`{"status": "stopped", "message": "%s"}`, result)
 		}
 		}
 		return result, nil
 		return result, nil
 	} else {
 	} else {