Documentation ¶
Index ¶
Constants ¶
View Source
const ( // Unknown means not initialized state. Unknown = iota // Allowed means allowed state. Allowed // HitQuota means this request exactly hit the quota. HitQuota // OverQuota means passed the quota. OverQuota )
Variables ¶
View Source
var ErrUnknownCode = errors.New("unknown status code")
ErrUnknownCode is an error that represents unknown status code.
Functions ¶
This section is empty.
Types ¶
type PeriodLimit ¶
type PeriodLimit struct {
// contains filtered or unexported fields
}
A PeriodLimit is used to limit requests during a period of time.
func NewPeriodLimit ¶
func NewPeriodLimit(period, quota int, limitStore *rv8.Client, keyPrefix string, opts ...PeriodOption) *PeriodLimit
NewPeriodLimit returns a PeriodLimit with given parameters.
type PeriodOption ¶
type PeriodOption func(l *PeriodLimit)
PeriodOption defines the method to customize a PeriodLimit.
func Align ¶
func Align() PeriodOption
Align returns a func to customize a PeriodLimit with alignment. For example, if we want to limit end users with 5 sms verification messages every day, we need to align with the local timezone and the start of the day.
Click to show internal directories.
Click to hide internal directories.