diff --git a/pkg/services/pluginsintegration/clientmiddleware/base_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/base_middleware.go new file mode 100644 index 00000000000..04f1333e5cf --- /dev/null +++ b/pkg/services/pluginsintegration/clientmiddleware/base_middleware.go @@ -0,0 +1,45 @@ +package clientmiddleware + +import ( + "context" + + "github.com/grafana/grafana-plugin-sdk-go/backend" + + "github.com/grafana/grafana/pkg/plugins" +) + +var _ = plugins.Client(&baseMiddleware{}) + +// The base middleware simply passes the request down the chain +// This allows middleware to avoid implementing all the noop functions +type baseMiddleware struct { + next plugins.Client +} + +func (m *baseMiddleware) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) { + return m.next.QueryData(ctx, req) +} + +func (m *baseMiddleware) CallResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender) error { + return m.next.CallResource(ctx, req, sender) +} + +func (m *baseMiddleware) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) { + return m.next.CheckHealth(ctx, req) +} + +func (m *baseMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { + return m.next.CollectMetrics(ctx, req) +} + +func (m *baseMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { + return m.next.SubscribeStream(ctx, req) +} + +func (m *baseMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { + return m.next.PublishStream(ctx, req) +} + +func (m *baseMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { + return m.next.RunStream(ctx, req, sender) +} diff --git a/pkg/services/pluginsintegration/clientmiddleware/caching_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/caching_middleware.go index f77b8f100bb..95ad4d393fb 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/caching_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/caching_middleware.go @@ -37,7 +37,9 @@ func NewCachingMiddlewareWithFeatureManager(cachingService caching.CachingServic } return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &CachingMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, caching: cachingService, log: log, features: features, @@ -46,7 +48,8 @@ func NewCachingMiddlewareWithFeatureManager(cachingService caching.CachingServic } type CachingMiddleware struct { - next plugins.Client + baseMiddleware + caching caching.CachingService log log.Logger features featuremgmt.FeatureToggles @@ -164,23 +167,3 @@ func (m *CachingMiddleware) CallResource(ctx context.Context, req *backend.CallR return m.next.CallResource(ctx, req, cacheSender) } - -func (m *CachingMiddleware) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) { - return m.next.CheckHealth(ctx, req) -} - -func (m *CachingMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *CachingMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *CachingMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *CachingMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/clear_auth_headers_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/clear_auth_headers_middleware.go index cf2d37db6f0..1ec57e09f39 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/clear_auth_headers_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/clear_auth_headers_middleware.go @@ -4,6 +4,7 @@ import ( "context" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/contexthandler" ) @@ -14,13 +15,15 @@ import ( func NewClearAuthHeadersMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &ClearAuthHeadersMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type ClearAuthHeadersMiddleware struct { - next plugins.Client + baseMiddleware } func (m *ClearAuthHeadersMiddleware) clearHeaders(ctx context.Context, h backend.ForwardHTTPHeaders) { @@ -67,19 +70,3 @@ func (m *ClearAuthHeadersMiddleware) CheckHealth(ctx context.Context, req *backe return m.next.CheckHealth(ctx, req) } - -func (m *ClearAuthHeadersMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *ClearAuthHeadersMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *ClearAuthHeadersMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *ClearAuthHeadersMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/cookies_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/cookies_middleware.go index acff24ce249..8d8eb1f0ff4 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/cookies_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/cookies_middleware.go @@ -4,6 +4,7 @@ import ( "context" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/contexthandler" @@ -19,14 +20,16 @@ const cookieHeaderName = "Cookie" func NewCookiesMiddleware(skipCookiesNames []string) plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &CookiesMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, skipCookiesNames: skipCookiesNames, } }) } type CookiesMiddleware struct { - next plugins.Client + baseMiddleware skipCookiesNames []string } @@ -115,19 +118,3 @@ func (m *CookiesMiddleware) CheckHealth(ctx context.Context, req *backend.CheckH return m.next.CheckHealth(ctx, req) } - -func (m *CookiesMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *CookiesMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *CookiesMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *CookiesMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/forward_id_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/forward_id_middleware.go index 71989ebe867..c43d6e5e62a 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/forward_id_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/forward_id_middleware.go @@ -17,13 +17,15 @@ const forwardIDHeaderName = "X-Grafana-Id" func NewForwardIDMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &ForwardIDMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type ForwardIDMiddleware struct { - next plugins.Client + baseMiddleware } func (m *ForwardIDMiddleware) applyToken(ctx context.Context, pCtx backend.PluginContext, req backend.ForwardHTTPHeaders) error { @@ -79,19 +81,3 @@ func (m *ForwardIDMiddleware) CheckHealth(ctx context.Context, req *backend.Chec return m.next.CheckHealth(ctx, req) } - -func (m *ForwardIDMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *ForwardIDMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *ForwardIDMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *ForwardIDMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/grafana_request_id_header_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/grafana_request_id_header_middleware.go index 15c2a1c1ccc..c6c4a5947a6 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/grafana_request_id_header_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/grafana_request_id_header_middleware.go @@ -11,6 +11,7 @@ import ( "github.com/google/uuid" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/contexthandler" @@ -30,17 +31,19 @@ const GrafanaInternalRequest = "X-Grafana-Internal-Request" func NewHostedGrafanaACHeaderMiddleware(cfg *setting.Cfg) plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &HostedGrafanaACHeaderMiddleware{ - next: next, - log: log.New("ip_header_middleware"), - cfg: cfg, + baseMiddleware: baseMiddleware{ + next: next, + }, + log: log.New("ip_header_middleware"), + cfg: cfg, } }) } type HostedGrafanaACHeaderMiddleware struct { - next plugins.Client - log log.Logger - cfg *setting.Cfg + baseMiddleware + log log.Logger + cfg *setting.Cfg } func (m *HostedGrafanaACHeaderMiddleware) applyGrafanaRequestIDHeader(ctx context.Context, pCtx backend.PluginContext, h backend.ForwardHTTPHeaders) { @@ -144,19 +147,3 @@ func (m *HostedGrafanaACHeaderMiddleware) CheckHealth(ctx context.Context, req * return m.next.CheckHealth(ctx, req) } - -func (m *HostedGrafanaACHeaderMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *HostedGrafanaACHeaderMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *HostedGrafanaACHeaderMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *HostedGrafanaACHeaderMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/httpclient_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/httpclient_middleware.go index 008ea33b225..913ad4e0bf5 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/httpclient_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/httpclient_middleware.go @@ -6,6 +6,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend" "github.com/grafana/grafana-plugin-sdk-go/backend/httpclient" + "github.com/grafana/grafana/pkg/plugins" ngalertmodels "github.com/grafana/grafana/pkg/services/ngalert/models" ) @@ -17,13 +18,15 @@ const forwardPluginRequestHTTPHeaders = "forward-plugin-request-http-headers" func NewHTTPClientMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &HTTPClientMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type HTTPClientMiddleware struct { - next plugins.Client + baseMiddleware } func (m *HTTPClientMiddleware) applyHeaders(ctx context.Context, pReq any) context.Context { @@ -93,19 +96,3 @@ func (m *HTTPClientMiddleware) CheckHealth(ctx context.Context, req *backend.Che return m.next.CheckHealth(ctx, req) } - -func (m *HTTPClientMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *HTTPClientMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *HTTPClientMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *HTTPClientMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go index 2a8c6e65388..7c9e3d26ba9 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go @@ -17,14 +17,16 @@ import ( func NewLoggerMiddleware(logger plog.Logger) plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &LoggerMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, logger: logger, } }) } type LoggerMiddleware struct { - next plugins.Client + baseMiddleware logger plog.Logger } @@ -127,15 +129,3 @@ func (m *LoggerMiddleware) CollectMetrics(ctx context.Context, req *backend.Coll return resp, err } - -func (m *LoggerMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *LoggerMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *LoggerMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/metrics_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/metrics_middleware.go index 08274d8248b..5a1508aa354 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/metrics_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/metrics_middleware.go @@ -24,9 +24,9 @@ type pluginMetrics struct { // MetricsMiddleware is a middleware that instruments plugin requests. // It tracks requests count, duration and size as prometheus metrics. type MetricsMiddleware struct { + baseMiddleware pluginMetrics pluginRegistry registry.Service - next plugins.Client } func newMetricsMiddleware(promRegisterer prometheus.Registerer, pluginRegistry registry.Service) *MetricsMiddleware { @@ -77,7 +77,9 @@ func newMetricsMiddleware(promRegisterer prometheus.Registerer, pluginRegistry r func NewMetricsMiddleware(promRegisterer prometheus.Registerer, pluginRegistry registry.Service) plugins.ClientMiddleware { imw := newMetricsMiddleware(promRegisterer, pluginRegistry) return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { - imw.next = next + imw.baseMiddleware = baseMiddleware{ + next: next, + } return imw }) } @@ -183,15 +185,3 @@ func (m *MetricsMiddleware) CollectMetrics(ctx context.Context, req *backend.Col }) return result, err } - -func (m *MetricsMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *MetricsMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *MetricsMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/oauthtoken_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/oauthtoken_middleware.go index b8c1a8da52a..1a2b91cdd16 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/oauthtoken_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/oauthtoken_middleware.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana/pkg/components/simplejson" "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/contexthandler" @@ -18,7 +19,9 @@ import ( func NewOAuthTokenMiddleware(oAuthTokenService oauthtoken.OAuthTokenService) plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &OAuthTokenMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, oAuthTokenService: oAuthTokenService, } }) @@ -30,8 +33,8 @@ const ( ) type OAuthTokenMiddleware struct { + baseMiddleware oAuthTokenService oauthtoken.OAuthTokenService - next plugins.Client } func (m *OAuthTokenMiddleware) applyToken(ctx context.Context, pCtx backend.PluginContext, req interface{}) error { @@ -125,19 +128,3 @@ func (m *OAuthTokenMiddleware) CheckHealth(ctx context.Context, req *backend.Che return m.next.CheckHealth(ctx, req) } - -func (m *OAuthTokenMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *OAuthTokenMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *OAuthTokenMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *OAuthTokenMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/resource_response_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/resource_response_middleware.go index 756821a93c8..c7f0252e28b 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/resource_response_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/resource_response_middleware.go @@ -4,6 +4,7 @@ import ( "context" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/util/proxyutil" ) @@ -13,13 +14,15 @@ import ( func NewResourceResponseMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &ResourceResponseMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type ResourceResponseMiddleware struct { - next plugins.Client + baseMiddleware } func (m *ResourceResponseMiddleware) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) { @@ -47,23 +50,3 @@ func (m *ResourceResponseMiddleware) CallResource(ctx context.Context, req *back return m.next.CallResource(ctx, req, wrappedSender) } - -func (m *ResourceResponseMiddleware) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) { - return m.next.CheckHealth(ctx, req) -} - -func (m *ResourceResponseMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *ResourceResponseMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *ResourceResponseMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *ResourceResponseMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/status_source_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/status_source_middleware.go index f2496db5d92..5cd88c03aa6 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/status_source_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/status_source_middleware.go @@ -17,13 +17,15 @@ import ( func NewStatusSourceMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &StatusSourceMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type StatusSourceMiddleware struct { - next plugins.Client + baseMiddleware } func (m *StatusSourceMiddleware) QueryData(ctx context.Context, req *backend.QueryDataRequest) (*backend.QueryDataResponse, error) { @@ -57,27 +59,3 @@ func (m *StatusSourceMiddleware) QueryData(ctx context.Context, req *backend.Que return resp, err } - -func (m *StatusSourceMiddleware) CallResource(ctx context.Context, req *backend.CallResourceRequest, sender backend.CallResourceResponseSender) error { - return m.next.CallResource(ctx, req, sender) -} - -func (m *StatusSourceMiddleware) CheckHealth(ctx context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) { - return m.next.CheckHealth(ctx, req) -} - -func (m *StatusSourceMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *StatusSourceMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *StatusSourceMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *StatusSourceMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/tracing_header_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/tracing_header_middleware.go index 06003fe502d..30f9b47033a 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/tracing_header_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/tracing_header_middleware.go @@ -18,13 +18,15 @@ import ( func NewTracingHeaderMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &TracingHeaderMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type TracingHeaderMiddleware struct { - next plugins.Client + baseMiddleware } func (m *TracingHeaderMiddleware) applyHeaders(ctx context.Context, req backend.ForwardHTTPHeaders) { @@ -66,19 +68,3 @@ func (m *TracingHeaderMiddleware) CheckHealth(ctx context.Context, req *backend. m.applyHeaders(ctx, req) return m.next.CheckHealth(ctx, req) } - -func (m *TracingHeaderMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *TracingHeaderMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *TracingHeaderMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *TracingHeaderMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -} diff --git a/pkg/services/pluginsintegration/clientmiddleware/user_header_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/user_header_middleware.go index 0dd19267642..a216f078bcd 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/user_header_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/user_header_middleware.go @@ -4,6 +4,7 @@ import ( "context" "github.com/grafana/grafana-plugin-sdk-go/backend" + "github.com/grafana/grafana/pkg/plugins" "github.com/grafana/grafana/pkg/services/auth/identity" "github.com/grafana/grafana/pkg/services/contexthandler" @@ -15,13 +16,15 @@ import ( func NewUserHeaderMiddleware() plugins.ClientMiddleware { return plugins.ClientMiddlewareFunc(func(next plugins.Client) plugins.Client { return &UserHeaderMiddleware{ - next: next, + baseMiddleware: baseMiddleware{ + next: next, + }, } }) } type UserHeaderMiddleware struct { - next plugins.Client + baseMiddleware } func (m *UserHeaderMiddleware) applyUserHeader(ctx context.Context, h backend.ForwardHTTPHeaders) { @@ -67,19 +70,3 @@ func (m *UserHeaderMiddleware) CheckHealth(ctx context.Context, req *backend.Che return m.next.CheckHealth(ctx, req) } - -func (m *UserHeaderMiddleware) CollectMetrics(ctx context.Context, req *backend.CollectMetricsRequest) (*backend.CollectMetricsResult, error) { - return m.next.CollectMetrics(ctx, req) -} - -func (m *UserHeaderMiddleware) SubscribeStream(ctx context.Context, req *backend.SubscribeStreamRequest) (*backend.SubscribeStreamResponse, error) { - return m.next.SubscribeStream(ctx, req) -} - -func (m *UserHeaderMiddleware) PublishStream(ctx context.Context, req *backend.PublishStreamRequest) (*backend.PublishStreamResponse, error) { - return m.next.PublishStream(ctx, req) -} - -func (m *UserHeaderMiddleware) RunStream(ctx context.Context, req *backend.RunStreamRequest, sender *backend.StreamSender) error { - return m.next.RunStream(ctx, req, sender) -}