소스 검색

fix(rest): Unify rule status response

Signed-off-by: Jianxiang Ran <rxan_embedded@163.com>
Jianxiang Ran 2 년 전
부모
커밋
1f22af2f22
2개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  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)
 		return
 	}
+	w.Header().Set(ContentType, ContentTypeJSON)
 	w.WriteHeader(http.StatusOK)
 	w.Write([]byte(content))
 }

+ 3 - 0
internal/server/rule_manager.go

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