Skip to content

Options API Reference

Package distlimit provides functional options (Option) to customize Limiter behavior during initialization.

import "github.com/balramadan/distlimit"

Configures default maximum request limit quota allowed within the window.

func WithLimit(limit int64) Option
  • Default: 100

Configures default time duration window for quota resets.

func WithWindow(window time.Duration) Option
  • Default: 1 * time.Minute

Configures algorithm strategy used for rate limit evaluations.

func WithAlgorithm(algo algorithm.Algorithm) Option
  • Default: slidingcounter.New()

Configures custom key extraction logic from request context.

func WithKeyFunc(fn KeyFunc) Option

Configures telemetry observer (metrics.Observer) for recording evaluation counts and execution latencies.

func WithMetricObserver(obs metrics.Observer) Option

Configures multi-tenant dynamic tier policy resolver (PolicyResolver).

func WithPolicyResolver(resolver PolicyResolver) Option