limiter

package
v0.1.22 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2025 License: Apache-2.0 Imports: 13 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Blackbox

type Blackbox interface {
	// contains filtered or unexported methods
}

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

Jump to

Keyboard shortcuts

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