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(