From bb5e1e0c5ba250bc32360b89b9c1d10c50fbb7fe Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:00:20 +0200 Subject: [PATCH] [v11.0.x] Loki: Remove API restrictions on resource calls (#85201) Loki: Remove API restrictions on resource calls (#85191) Loki: Remove API restrictions (cherry picked from commit c80b31a0d441fe096169d128bc8eb2810cb77d6a) Co-authored-by: Sven Grossmann --- pkg/tsdb/loki/loki.go | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/pkg/tsdb/loki/loki.go b/pkg/tsdb/loki/loki.go index 94d2d6d2891..1d31f500c2d 100644 --- a/pkg/tsdb/loki/loki.go +++ b/pkg/tsdb/loki/loki.go @@ -6,7 +6,6 @@ import ( "fmt" "net/http" "regexp" - "strings" "sync" "time" @@ -120,18 +119,7 @@ func (s *Service) CallResource(ctx context.Context, req *backend.CallResourceReq func callResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender, dsInfo *datasourceInfo, plog log.Logger, tracer tracing.Tracer) error { url := req.URL - // a very basic is-this-url-valid check - if req.Method != "GET" { - plog.Error("Invalid HTTP method", "method", req.Method) - return fmt.Errorf("invalid HTTP method: %s", req.Method) - } - if (!strings.HasPrefix(url, "labels?")) && - (!strings.HasPrefix(url, "label/")) && // the `/label/$label_name/values` form - (!strings.HasPrefix(url, "series?")) && - (!strings.HasPrefix(url, "index/stats?")) { - plog.Error("Invalid URL", "url", url) - return fmt.Errorf("invalid URL: %s", url) - } + lokiURL := fmt.Sprintf("/loki/api/v1/%s", url) ctx, span := tracer.Start(ctx, "datasource.loki.CallResource", trace.WithAttributes(