limiter

package
v0.1.984 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2026 License: Apache-2.0 Imports: 14 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 = contract.Opt[ClientOptions]

func WithGroup

func WithGroup(x string) ClientOption

func WithLoaded added in v0.1.163

func WithLoaded(x Loaded) ClientOption

func WithMaxScore added in v0.1.25

func WithMaxScore(x uint) ClientOption

func WithTimeout

func WithTimeout(x time.Duration) ClientOption

func WithUserIDHeaderKey

func WithUserIDHeaderKey(x string) ClientOption

func WithWindow

func WithWindow(x time.Duration) ClientOption

type ClientOptions

type ClientOptions struct {
	Loaded
	Group   string
	Timeout time.Duration
	Window  time.Duration
}

func ApplyClientOptions

func ApplyClientOptions(opts *ClientOptions, modifiers ...ClientOption) ClientOptions

type DefaultTool added in v0.1.24

type DefaultTool struct {
	T *contract.Tool[Client]
}

func NewTool

func NewTool(c Client, opts contract.ToolOptions[Client]) *DefaultTool

func (*DefaultTool) Engage added in v0.1.24

Engage applies rate limiting to incoming HTTP requests.

func (*DefaultTool) GetHeaderKey added in v0.1.245

func (d *DefaultTool) GetHeaderKey(ctx context.Context) (string, error)

GetHeaderKey returns the configured header key for identifying users.

func (*DefaultTool) GetMaxScore added in v0.1.245

func (d *DefaultTool) GetMaxScore(ctx context.Context) (uint, error)

GetMaxScore returns the maximum allowed request score.

func (*DefaultTool) GetRateLimitingMode added in v0.1.245

func (d *DefaultTool) GetRateLimitingMode(ctx context.Context) (string, error)

GetRateLimitingMode returns the active rate limiting mode (IP-based or header-based).

type Loaded added in v0.1.122

type Loaded struct {
	UserIDHeaderKey *string
	MaxScore        uint
}

type Tool added in v0.1.245

type Tool interface {
	contract.LimiterOperator
}

Jump to

Keyboard shortcuts

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