httpLimiter

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	VisitApp     Visit
	IpLimiterApp IpLimiter
)

Functions

This section is empty.

Types

type IpLimiter

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

IpLimiter ip限流器

func NewIpLimiter

func NewIpLimiter() *IpLimiter

NewIpLimiter 实例化:Ip 限流

func (*IpLimiter) Affirm

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

Affirm 检查限流

func (*IpLimiter) New

func (*IpLimiter) New() *IpLimiter

type RouteLimiter

type RouteLimiter struct{ RouteSetMap *sync.Map }

RouteLimiter 路由限流器

var (
	RouterLimiterApp 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