mirror of
https://github.com/grafana/grafana.git
synced 2025-01-04 13:17:16 -06:00
676d393ec9
* Chore: Fix issues reported by staticcheck Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com> * Apply suggestions from code review Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
27 lines
604 B
Go
27 lines
604 B
Go
package tsdb
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/grafana/grafana/pkg/models"
|
|
)
|
|
|
|
type HandleRequestFunc func(ctx context.Context, dsInfo *models.DataSource, req *TsdbQuery) (*Response, error)
|
|
|
|
func HandleRequest(ctx context.Context, dsInfo *models.DataSource, req *TsdbQuery) (*Response, error) {
|
|
var endpoint TsdbQueryEndpoint
|
|
fn, exists := registry[dsInfo.Type]
|
|
if !exists {
|
|
return nil, fmt.Errorf("could not find executor for data source type: %s", dsInfo.Type)
|
|
}
|
|
|
|
var err error
|
|
endpoint, err = fn(dsInfo)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return endpoint.Query(ctx, dsInfo, req)
|
|
}
|