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 is an error that represents unknown status code ErrUnknownCode = errors.New("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 *redis.Client, keyPrefix string, opts ...PeriodOption) *PeriodLimit
NewPeriodLimit returns a PeriodLimit with given parameters
func (*PeriodLimit) ParsePermitState ¶
func (h *PeriodLimit) ParsePermitState(code int) bool
ParsePermitState returns the permit state by the code
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.