Documentation
¶
Index ¶
- Constants
- func Instrument(requestDuration *prometheus.HistogramVec) ([]grpc.UnaryClientInterceptor, []grpc.StreamClientInterceptor)
- func NewBackoffRetry(cfg backoff.Config) grpc.UnaryClientInterceptor
- func NewRateLimiter(cfg *Config) grpc.UnaryClientInterceptor
- func UnarySigningClientInterceptor(ctx context.Context, method string, req, reply interface{}, ...) error
- func UnarySigningServerInterceptor(ctx context.Context, req interface{}, _ *grpc.UnaryServerInfo, ...) (resp interface{}, err error)
- type Config
- func (cfg *Config) CallOptions() []grpc.CallOption
- func (cfg *Config) DialOption(unaryClientInterceptors []grpc.UnaryClientInterceptor, ...) ([]grpc.DialOption, error)
- func (cfg *Config) RegisterFlags(f *flag.FlagSet)
- func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet)
- func (cfg *Config) Validate(log log.Logger) error
- type SignRequest
Constants ¶
View Source
const (
ErrDifferentSignaturePresent = errors.Error("different signature already present")
ErrMultipleSignaturePresent = errors.Error("multiples signature present")
ErrSignatureNotPresent = errors.Error("signature not present")
ErrSignatureMismatch = errors.Error("signature mismatch")
)
Variables ¶
This section is empty.
Functions ¶
func Instrument ¶ added in v1.1.0
func Instrument(requestDuration *prometheus.HistogramVec) ([]grpc.UnaryClientInterceptor, []grpc.StreamClientInterceptor)
func NewBackoffRetry ¶
func NewBackoffRetry(cfg backoff.Config) grpc.UnaryClientInterceptor
NewBackoffRetry gRPC middleware.
func NewRateLimiter ¶
func NewRateLimiter(cfg *Config) grpc.UnaryClientInterceptor
NewRateLimiter creates a UnaryClientInterceptor for client side rate limiting.
func UnarySigningClientInterceptor ¶ added in v1.16.0
func UnarySigningClientInterceptor(ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error
func UnarySigningServerInterceptor ¶ added in v1.16.0
func UnarySigningServerInterceptor(ctx context.Context, req interface{}, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error)
Types ¶
type Config ¶
type Config struct {
MaxRecvMsgSize int `yaml:"max_recv_msg_size"`
MaxSendMsgSize int `yaml:"max_send_msg_size"`
GRPCCompression string `yaml:"grpc_compression"`
RateLimit float64 `yaml:"rate_limit"`
RateLimitBurst int `yaml:"rate_limit_burst"`
BackoffOnRatelimits bool `yaml:"backoff_on_ratelimits"`
BackoffConfig backoff.Config `yaml:"backoff_config"`
TLSEnabled bool `yaml:"tls_enabled"`
TLS tls.ClientConfig `yaml:",inline"`
SignWriteRequestsEnabled bool `yaml:"-"`
}
Config for a gRPC client.
func (*Config) CallOptions ¶
func (cfg *Config) CallOptions() []grpc.CallOption
CallOptions returns the config in terms of CallOptions.
func (*Config) DialOption ¶
func (cfg *Config) DialOption(unaryClientInterceptors []grpc.UnaryClientInterceptor, streamClientInterceptors []grpc.StreamClientInterceptor) ([]grpc.DialOption, error)
DialOption returns the config as a grpc.DialOptions.
func (*Config) RegisterFlags ¶
func (cfg *Config) RegisterFlags(f *flag.FlagSet)
RegisterFlags registers flags.
func (*Config) RegisterFlagsWithPrefix ¶ added in v1.1.0
func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet)
RegisterFlagsWithPrefix registers flags with prefix.
type SignRequest ¶ added in v1.16.0
type SignRequest interface {
// Sign returns the signature for the given request
Sign(context.Context) (string, error)
// VerifySign returns true if the signature is valid
VerifySign(context.Context, string) (bool, error)
}
SignRequest define the interface that must be implemented by the request structs to be signed
Click to show internal directories.
Click to hide internal directories.