mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			61 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Go
		
	
	
	
| package plugins
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"github.com/grafana/authlib/types"
 | |
| 	"github.com/grafana/grafana/pkg/apimachinery/errutil"
 | |
| 	"github.com/grafana/grafana/pkg/apimachinery/identity"
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	errPluginNotRegisteredBase = errutil.NotFound("plugin.notRegistered",
 | |
| 		errutil.WithPublicMessage("Plugin not registered"))
 | |
| 	// ErrPluginNotRegistered error returned when a plugin is not registered.
 | |
| 	ErrPluginNotRegistered = errPluginNotRegisteredBase.Errorf("plugin not registered")
 | |
| 
 | |
| 	errPluginUnavailableBase = errutil.Internal("plugin.unavailable",
 | |
| 		errutil.WithPublicMessage("Plugin unavailable"))
 | |
| 	// ErrPluginUnavailable error returned when a plugin is unavailable.
 | |
| 	ErrPluginUnavailable = errPluginUnavailableBase.Errorf("plugin unavailable")
 | |
| 
 | |
| 	errMethodNotImplementedBase = errutil.NotFound("plugin.notImplemented",
 | |
| 		errutil.WithPublicMessage("Method not implemented"))
 | |
| 	// ErrMethodNotImplemented error returned when a plugin method is not implemented.
 | |
| 	ErrMethodNotImplemented = errMethodNotImplementedBase.Errorf("method not implemented")
 | |
| 
 | |
| 	// ErrPluginHealthCheck error returned when a plugin fails its health check.
 | |
| 	// Exposed as a base error to wrap it with plugin error.
 | |
| 	ErrPluginHealthCheck = errutil.Internal("plugin.healthCheck",
 | |
| 		errutil.WithPublicMessage("Plugin health check failed"),
 | |
| 		errutil.WithDownstream())
 | |
| 
 | |
| 	// ErrPluginRequestFailureErrorBase error returned when a plugin request fails.
 | |
| 	// Exposed as a base error to wrap it with plugin request errors.
 | |
| 	ErrPluginRequestFailureErrorBase = errutil.Internal("plugin.requestFailureError",
 | |
| 		errutil.WithPublicMessage("An error occurred within the plugin"),
 | |
| 		errutil.WithDownstream())
 | |
| 
 | |
| 	// ErrPluginRequestCanceledErrorBase error returned when a plugin request
 | |
| 	// is cancelled by the client (context is cancelled).
 | |
| 	// Exposed as a base error to wrap it with plugin cancelled errors.
 | |
| 	ErrPluginRequestCanceledErrorBase = errutil.ClientClosedRequest("plugin.requestCanceled",
 | |
| 		errutil.WithPublicMessage("Plugin request canceled"))
 | |
| 
 | |
| 	// ErrPluginGrpcResourceExhaustedBase error returned when a plugin response is larger than the grpc limit.
 | |
| 	// Exposed as a base error to wrap it with plugin resource exhausted errors.
 | |
| 	ErrPluginGrpcResourceExhaustedBase = errutil.Internal("plugin.resourceExhausted",
 | |
| 		errutil.WithPublicMessage("The response is too large. Please try to reduce the time range or narrow down your query to return fewer data points."),
 | |
| 		errutil.WithDownstream())
 | |
| 
 | |
| 	ErrPluginGrpcConnectionUnavailableBaseFn = func(ctx context.Context) errutil.Base {
 | |
| 		pubMsg := "Data source became unavailable during request. Please try again."
 | |
| 		if requester, err := identity.GetRequester(ctx); err == nil && requester != nil {
 | |
| 			if namespace, err := types.ParseNamespace(requester.GetNamespace()); err == nil && namespace.StackID != 0 {
 | |
| 				pubMsg += " If the problem persists, please contact customer support."
 | |
| 			}
 | |
| 		}
 | |
| 		return errutil.Internal("plugin.connectionUnavailable", errutil.WithPublicMessage(pubMsg))
 | |
| 	}
 | |
| )
 |