Lewati ke konten

Referensi API Opsi (Options)

Package distlimit menyediakan opsi fungsional (Option) untuk mengustomisasi perilaku Limiter saat inisialisasi.

import "github.com/balramadan/distlimit"

Mengonfigurasi kuota limit request maksimum default yang diizinkan dalam window.

func WithLimit(limit int64) Option
  • Default: 100

Mengonfigurasi durasi window waktu default untuk reset kuota.

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

Mengonfigurasi strategi algoritma yang digunakan untuk evaluasi rate limit.

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

Mengonfigurasi logika ekstraksi key kustom dari context request.

func WithKeyFunc(fn KeyFunc) Option

Mengonfigurasi observer telemetri (metrics.Observer) untuk mencatat jumlah evaluasi dan latensi eksekusi.

func WithMetricObserver(obs metrics.Observer) Option

Mengonfigurasi resolver kebijakan tier dinamis multi-tenant (PolicyResolver).

func WithPolicyResolver(resolver PolicyResolver) Option