Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface {
Blackbox
contract.LimiterOperator
}
func NewClient ¶
func NewClient(d Dependencies, opts ClientOptions) (Client, error)
type ClientOption ¶
type ClientOption func(*ClientOptions)
func WithGroup ¶
func WithGroup(group string) ClientOption
func WithMaxDailyScore ¶
func WithMaxDailyScore(score uint) ClientOption
func WithTimeout ¶
func WithTimeout(d time.Duration) ClientOption
func WithUserIDHeaderKey ¶
func WithUserIDHeaderKey(key string) ClientOption
func WithWindow ¶
func WithWindow(d time.Duration) ClientOption
type ClientOptions ¶
type ClientOptions struct {
MaxDailyScore uint
Group string
UserIDHeaderKey *string
Timeout time.Duration
Window time.Duration
}
func ApplyClientOptions ¶
func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions
type Dependencies ¶
type Dependencies struct {
RM *contract.RegistryMutex
R contract.Registry
SO contract.SemaphoreOperator
RS contract.HTTPResponder
RC contract.RedisClient
}
Click to show internal directories.
Click to hide internal directories.