serverinterceptors

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2024 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DontLogContentForMethod

func DontLogContentForMethod(method string)

DontLogContentForMethod disable logging content for given method. Deprecated: use StatConf instead.

func SetSlowThreshold

func SetSlowThreshold(threshold time.Duration)

SetSlowThreshold sets the slow threshold. Deprecated: use StatConf instead.

func StreamAuthorizeInterceptor

func StreamAuthorizeInterceptor(authenticator *auth.Authenticator) grpc.StreamServerInterceptor

StreamAuthorizeInterceptor returns a func that uses given authenticator in processing stream requests.

func StreamBreakerInterceptor

func StreamBreakerInterceptor(svr any, stream grpc.ServerStream, info *grpc.StreamServerInfo,
	handler grpc.StreamHandler) error

StreamBreakerInterceptor is an interceptor that acts as a circuit breaker.

func StreamRecoverInterceptor

func StreamRecoverInterceptor(svr any, stream grpc.ServerStream, _ *grpc.StreamServerInfo,
	handler grpc.StreamHandler) (err error)

StreamRecoverInterceptor catches panics in processing stream requests and recovers.

func StreamTracingInterceptor

func StreamTracingInterceptor(svr any, ss grpc.ServerStream, info *grpc.StreamServerInfo,
	handler grpc.StreamHandler) error

StreamTracingInterceptor returns a grpc.StreamServerInterceptor for opentelemetry.

func UnaryAuthorizeInterceptor

func UnaryAuthorizeInterceptor(authenticator *auth.Authenticator) grpc.UnaryServerInterceptor

UnaryAuthorizeInterceptor returns a func that uses given authenticator in processing unary requests.

func UnaryBreakerInterceptor

func UnaryBreakerInterceptor(ctx context.Context, req any, info *grpc.UnaryServerInfo,
	handler grpc.UnaryHandler) (resp any, err error)

UnaryBreakerInterceptor is an interceptor that acts as a circuit breaker.

func UnaryPrometheusInterceptor

func UnaryPrometheusInterceptor(ctx context.Context, req any,
	info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (any, error)

UnaryPrometheusInterceptor reports the statistics to the prometheus server.

func UnaryRecoverInterceptor

func UnaryRecoverInterceptor(ctx context.Context, req any, _ *grpc.UnaryServerInfo,
	handler grpc.UnaryHandler) (resp any, err error)

UnaryRecoverInterceptor catches panics in processing unary requests and recovers.

func UnarySheddingInterceptor

func UnarySheddingInterceptor(shedder load.Shedder, metrics *stat.Metrics) grpc.UnaryServerInterceptor

UnarySheddingInterceptor returns a func that does load shedding on processing unary requests.

func UnaryStatInterceptor

func UnaryStatInterceptor(metrics *stat.Metrics, conf StatConf) grpc.UnaryServerInterceptor

UnaryStatInterceptor returns a func that uses given metrics to report stats.

func UnaryTimeoutInterceptor

func UnaryTimeoutInterceptor(timeout time.Duration,
	methodTimeouts ...MethodTimeoutConf) grpc.UnaryServerInterceptor

UnaryTimeoutInterceptor returns a func that sets timeout to incoming unary requests.

func UnaryTracingInterceptor

func UnaryTracingInterceptor(ctx context.Context, req any, info *grpc.UnaryServerInfo,
	handler grpc.UnaryHandler) (any, error)

UnaryTracingInterceptor is a grpc.UnaryServerInterceptor for opentelemetry.

Types

type MethodTimeoutConf

type MethodTimeoutConf struct {
	FullMethod string
	Timeout    time.Duration
}

MethodTimeoutConf defines specified timeout for gRPC method.

type StatConf

type StatConf struct {
	SlowThreshold        time.Duration `json:",default=500ms"`
	IgnoreContentMethods []string      `json:",optional"`
}

StatConf defines the static configuration for stat interceptor.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL