Referensi API Opsi (Options)
Package distlimit menyediakan opsi fungsional (Option) untuk mengustomisasi perilaku Limiter saat inisialisasi.
import "github.com/balramadan/distlimit"Daftar Opsi Utama
Section titled “Daftar Opsi Utama”WithLimit
Section titled “WithLimit”Mengonfigurasi kuota limit request maksimum default yang diizinkan dalam window.
func WithLimit(limit int64) Option- Default:
100
WithWindow
Section titled “WithWindow”Mengonfigurasi durasi window waktu default untuk reset kuota.
func WithWindow(window time.Duration) Option- Default:
1 * time.Minute
WithAlgorithm
Section titled “WithAlgorithm”Mengonfigurasi strategi algoritma yang digunakan untuk evaluasi rate limit.
func WithAlgorithm(algo algorithm.Algorithm) Option- Default:
slidingcounter.New()
WithKeyFunc
Section titled “WithKeyFunc”Mengonfigurasi logika ekstraksi key kustom dari context request.
func WithKeyFunc(fn KeyFunc) OptionWithMetricObserver
Section titled “WithMetricObserver”Mengonfigurasi observer telemetri (metrics.Observer) untuk mencatat jumlah evaluasi dan latensi eksekusi.
func WithMetricObserver(obs metrics.Observer) OptionWithPolicyResolver
Section titled “WithPolicyResolver”Mengonfigurasi resolver kebijakan tier dinamis multi-tenant (PolicyResolver).
func WithPolicyResolver(resolver PolicyResolver) Option