2024-03-13 04:14:16 -05:00
|
|
|
package datasource
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
|
2024-03-18 03:33:22 -05:00
|
|
|
"github.com/grafana/grafana-aws-sdk/pkg/awsds"
|
|
|
|
"github.com/grafana/grafana-aws-sdk/pkg/sigv4"
|
2024-03-13 04:14:16 -05:00
|
|
|
"github.com/grafana/grafana-plugin-sdk-go/backend"
|
|
|
|
"github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
|
|
|
|
)
|
|
|
|
|
|
|
|
func contextualMiddlewares(ctx context.Context) context.Context {
|
|
|
|
cfg := backend.GrafanaConfigFromContext(ctx)
|
2024-03-18 03:33:22 -05:00
|
|
|
responseLimitMiddleware := httpclient.ResponseLimitMiddleware(cfg.ResponseLimit())
|
|
|
|
ctx = httpclient.WithContextualMiddleware(ctx, responseLimitMiddleware)
|
2024-03-13 04:14:16 -05:00
|
|
|
|
2024-03-18 03:33:22 -05:00
|
|
|
sigv4Settings := awsds.ReadSigV4Settings(ctx)
|
|
|
|
if sigv4Settings.Enabled {
|
|
|
|
ctx = httpclient.WithContextualMiddleware(ctx, sigv4.SigV4Middleware(sigv4Settings.VerboseLogging))
|
|
|
|
}
|
|
|
|
|
|
|
|
return ctx
|
2024-03-13 04:14:16 -05:00
|
|
|
}
|