Documentation ¶
Index ¶
- Constants
- Variables
- func GetNamespace(namespaceRegistry namespace.Registry, req interface{}) namespace.Name
- func MetricsScope(ctx context.Context, logger log.Logger) metrics.Scope
- type NamespaceCountLimitInterceptor
- type NamespaceIDGetter
- type NamespaceLogInterceptor
- type NamespaceNameGetter
- type NamespaceRateLimitInterceptor
- type NamespaceValidatorInterceptor
- type RateLimitInterceptor
- type TelemetryInterceptor
Constants ¶
View Source
const (
NamespaceRateLimitDefaultToken = 1
)
View Source
const (
RateLimitDefaultToken = 1
)
Variables ¶
View Source
var (
ErrNamespaceCountLimitServerBusy = serviceerror.NewResourceExhausted("namespace count limit exceeded")
)
View Source
var (
ErrNamespaceNotSet = serviceerror.NewInvalidArgument("Namespace not set on request.")
)
View Source
var (
ErrNamespaceRateLimitServerBusy = serviceerror.NewResourceExhausted("namespace rate limit exceeded")
)
View Source
var (
RateLimitServerBusy = serviceerror.NewResourceExhausted("service rate limit exceeded")
)
Functions ¶
func GetNamespace ¶
Types ¶
type NamespaceCountLimitInterceptor ¶
func (*NamespaceCountLimitInterceptor) Intercept ¶
func (ni *NamespaceCountLimitInterceptor) Intercept( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
type NamespaceIDGetter ¶ added in v1.8.1
type NamespaceIDGetter interface {
GetNamespaceId() string
}
gRPC method request must implement either NamespaceNameGetter or NamespaceIDGetter for namespace specific metrics to be reported properly
type NamespaceLogInterceptor ¶ added in v1.11.0
type NamespaceLogInterceptor struct {
// contains filtered or unexported fields
}
func NewNamespaceLogInterceptor ¶ added in v1.11.0
func NewNamespaceLogInterceptor(namespaceRegistry namespace.Registry, logger log.Logger) *NamespaceLogInterceptor
func (*NamespaceLogInterceptor) Intercept ¶ added in v1.11.0
func (nli *NamespaceLogInterceptor) Intercept( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
type NamespaceNameGetter ¶ added in v1.8.1
type NamespaceNameGetter interface {
GetNamespace() string
}
gRPC method request must implement either NamespaceNameGetter or NamespaceIDGetter for namespace specific metrics to be reported properly
type NamespaceRateLimitInterceptor ¶
type NamespaceRateLimitInterceptor struct {
// contains filtered or unexported fields
}
func NewNamespaceRateLimitInterceptor ¶
func NewNamespaceRateLimitInterceptor( namespaceRegistry namespace.Registry, rateLimiter quotas.RequestRateLimiter, tokens map[string]int, ) *NamespaceRateLimitInterceptor
func (*NamespaceRateLimitInterceptor) Intercept ¶
func (ni *NamespaceRateLimitInterceptor) Intercept( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
type NamespaceValidatorInterceptor ¶ added in v1.14.0
type NamespaceValidatorInterceptor struct {
// contains filtered or unexported fields
}
NamespaceValidatorInterceptor validates: 1. Namespace is specified in task token if there is a `task_token` field. 2. Namespace is specified in request if there is a `namespace` field and no `task_token` field. 3. Namespace exists. 4. Namespace from request match namespace from task token, if check is enabled with dynamic config. 5. Namespace is in correct state.
func NewNamespaceValidatorInterceptor ¶ added in v1.14.0
func NewNamespaceValidatorInterceptor( namespaceRegistry namespace.Registry, enableTokenNamespaceEnforcement dynamicconfig.BoolPropertyFn, ) *NamespaceValidatorInterceptor
func (*NamespaceValidatorInterceptor) Intercept ¶ added in v1.14.0
func (ni *NamespaceValidatorInterceptor) Intercept( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
type RateLimitInterceptor ¶
type RateLimitInterceptor struct {
// contains filtered or unexported fields
}
func NewRateLimitInterceptor ¶
func NewRateLimitInterceptor( rateLimiter quotas.RequestRateLimiter, tokens map[string]int, ) *RateLimitInterceptor
func (*RateLimitInterceptor) Intercept ¶
func (i *RateLimitInterceptor) Intercept( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
type TelemetryInterceptor ¶
type TelemetryInterceptor struct {
// contains filtered or unexported fields
}
func NewTelemetryInterceptor ¶
func (*TelemetryInterceptor) Intercept ¶
func (ti *TelemetryInterceptor) Intercept( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
Click to show internal directories.
Click to hide internal directories.