From a1256ee331203a0287694d51b9a1e6ed1c83c511 Mon Sep 17 00:00:00 2001 From: pb Date: Tue, 3 Jun 2025 18:02:24 +0200 Subject: [PATCH] changed the return of POST /loki from bytes[] to map[string]interface{}, now logs are displayed in oc-front --- controllers/loki.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/controllers/loki.go b/controllers/loki.go index 43d712b..10c9795 100644 --- a/controllers/loki.go +++ b/controllers/loki.go @@ -27,9 +27,12 @@ type LokiInfo struct { // @Success 200 {workspace} models.workspace // @router / [post] func (o *LokiController) GetLogs() { - path := "/loki/api/v1/query_range" + var resp map[string]interface{} json.Unmarshal(o.Ctx.Input.CopyBody(100000), &resp) + + path := "/loki/api/v1/query_range" + if len(resp) > 0 { start := fmt.Sprintf("%v", resp["start"]) if len(start) > 10 { @@ -53,6 +56,7 @@ func (o *LokiController) GetLogs() { return } path += "?query={" + strings.Join(query, ", ") + "}&start=" + start + "&end=" + end + resp, err := http.Get(config.GetConfig().LokiUrl + path) // CALL if err != nil { o.Ctx.ResponseWriter.WriteHeader(422) @@ -62,10 +66,19 @@ func (o *LokiController) GetLogs() { } defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) - o.Data["json"] = body + + var data map[string]interface{} + err = json.Unmarshal(body,&data) + if err != nil { + o.Ctx.ResponseWriter.WriteHeader(500) + o.Data["json"] = err.Error() + } + + o.Data["json"] = data o.ServeJSON() return } + o.Ctx.ResponseWriter.WriteHeader(403) o.Data["json"] = map[string]string{"error": "Query error"} o.ServeJSON()