Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ErrorCatch ¶
ErrorCatch @Middleware 错误捕获
func NewErrorCatch ¶
func NewErrorCatch(rspErrorValue cue.Value) *ErrorCatch
func (*ErrorCatch) OnRequest ¶
func (this *ErrorCatch) OnRequest(ctx *gin.Context)
type ILimiter ¶
type ILimiter interface { Key(c *gin.Context) string GetBucket(key string) (*ratelimit.Bucket, bool) AddBucketsByUri(uri string, fillInterval, capacity, quantum int64) ILimiter AddBucketByConf() ILimiter }
ILimiter 限流方法实现定义
var GlobalLimiter ILimiter
GlobalLimiter 全局限流规则
func NewUriLimiter ¶
func NewUriLimiter() ILimiter
type LimitConfRules ¶
LimitConfRules 限流规则map
func (*LimitConfRules) InitDefaultConfig ¶
func (this *LimitConfRules) InitDefaultConfig(vp *viper.Viper)
type LimitOpt ¶
type LimitOpt struct { Interval int64 `mapstructure:"interval"` // 多长时间添加一次令牌 Capacity int64 `mapstructure:"capacity"` // 令牌桶的容量 Quantum int64 `mapstructure:"quantum"` // 到达定时器指定的时间,往桶里面加多少令牌 }
LimitOpt 限流配置
type RateLimit ¶
type RateLimit struct{}
RateLimit @Middleware 限流中间件
func NewRateLimit ¶
func NewRateLimit() *RateLimit
type RequestLog ¶
type RequestLog struct{}
RequestLog @Middleware 记录请求日志
func NewRequestLog ¶
func NewRequestLog() *RequestLog
func (*RequestLog) OnRequest ¶
func (*RequestLog) OnRequest(ctx *gin.Context)
type UriLimiter ¶
type UriLimiter struct { Rule *LimitConfRules // contains filtered or unexported fields }
UriLimiter 基于路由的限流
func (*UriLimiter) AddBucketByConf ¶
func (l *UriLimiter) AddBucketByConf() ILimiter
AddBucketByConf 通过配置文件批量添加限流规则
func (*UriLimiter) AddBucketsByUri ¶
func (l *UriLimiter) AddBucketsByUri(uri string, fillInterval, capacity, quantum int64) ILimiter
AddBucketsByUri 添加一条路由限流规则
Click to show internal directories.
Click to hide internal directories.