httpLimiter

package
v1.64.50 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var APP struct {
	Visit         Visit
	IPLimiter     IPLimiter
	RouterLimiter RouteLimiter
}

Functions

This section is empty.

Types

type IPLimiter added in v1.64.50

type IPLimiter struct {
	// contains filtered or unexported fields
}

IPLimiter ip限流器

func NewIPLimiter added in v1.64.50

func NewIPLimiter() *IPLimiter

NewIPLimiter 实例化:Ip 限流

func (*IPLimiter) Affirm added in v1.64.50

func (my *IPLimiter) Affirm(ip string, t time.Duration, maxVisitTimes uint16) (*Visit, bool)

Affirm 检查限流

func (*IPLimiter) New added in v1.64.50

func (*IPLimiter) New() *IPLimiter

type RouteLimiter

type RouteLimiter struct{ RouteSetMap *sync.Map }

RouteLimiter 路由限流器

func OnceRouteLimiter

func OnceRouteLimiter() *RouteLimiter

OnceRouteLimiter 单例化:路由限流

func (*RouteLimiter) Add

func (my *RouteLimiter) Add(router string, t time.Duration, maxVisitTimes uint16) *RouteLimiter

Add 添加限流规则

func (*RouteLimiter) Affirm

func (my *RouteLimiter) Affirm(router, ip string) (*Visit, bool)

Affirm 检查是否通过限流

func (*RouteLimiter) Once

func (*RouteLimiter) Once() *RouteLimiter

type Visit

type Visit struct {
	// contains filtered or unexported fields
}

Visit 访问记录

func (*Visit) GetLastVisitor

func (r *Visit) GetLastVisitor() time.Time

GetLastVisitor 获取最后访问时间

func (*Visit) GetVisitTimes

func (r *Visit) GetVisitTimes() uint16

GetVisitTimes 获取窗口期内访问次数

func (*Visit) New

func (*Visit) New() *Visit

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL