Options API Reference
Package distlimit provides functional options (Option) to customize Limiter behavior during initialization.
import "github.com/balramadan/distlimit"Core Options List
Section titled “Core Options List”WithLimit
Section titled “WithLimit”Configures default maximum request limit quota allowed within the window.
func WithLimit(limit int64) Option- Default:
100
WithWindow
Section titled “WithWindow”Configures default time duration window for quota resets.
func WithWindow(window time.Duration) Option- Default:
1 * time.Minute
WithAlgorithm
Section titled “WithAlgorithm”Configures algorithm strategy used for rate limit evaluations.
func WithAlgorithm(algo algorithm.Algorithm) Option- Default:
slidingcounter.New()
WithKeyFunc
Section titled “WithKeyFunc”Configures custom key extraction logic from request context.
func WithKeyFunc(fn KeyFunc) OptionWithMetricObserver
Section titled “WithMetricObserver”Configures telemetry observer (metrics.Observer) for recording evaluation counts and execution latencies.
func WithMetricObserver(obs metrics.Observer) OptionWithPolicyResolver
Section titled “WithPolicyResolver”Configures multi-tenant dynamic tier policy resolver (PolicyResolver).
func WithPolicyResolver(resolver PolicyResolver) Option