Documentation ¶
Index ¶
- Variables
- type CounterFilter
- type Filter
- type QPSCount
- type RateLimitFilter
- func (filter RateLimitFilter) FilterHttpHandlerFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request)
- func (filter RateLimitFilter) FilterHttpRouter(pattern string, h httprouter.Handle) httprouter.Handle
- func (filter *RateLimitFilter) Increase()
- func (filter *RateLimitFilter) IsAvailable() bool
Constants ¶
This section is empty.
Variables ¶
View Source
var Counter = NewCounterService()
View Source
var RequestLimit = NewRequestLimitService(10*time.Second, 5)
Functions ¶
This section is empty.
Types ¶
type CounterFilter ¶
func NewCounterService ¶
func NewCounterService() *CounterFilter
func (*CounterFilter) Increase ¶
func (counter *CounterFilter) Increase()
type Filter ¶
type Filter interface { FilterHttpRouter(pattern string, h httprouter.Handle) httprouter.Handle FilterHttpHandlerFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request) }
type RateLimitFilter ¶
func NewRequestLimitService ¶
func NewRequestLimitService(interval time.Duration, maxCnt int) *RateLimitFilter
func (RateLimitFilter) FilterHttpHandlerFunc ¶
func (filter RateLimitFilter) FilterHttpHandlerFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request)
func (RateLimitFilter) FilterHttpRouter ¶
func (filter RateLimitFilter) FilterHttpRouter(pattern string, h httprouter.Handle) httprouter.Handle
func (*RateLimitFilter) Increase ¶
func (filter *RateLimitFilter) Increase()
func (*RateLimitFilter) IsAvailable ¶
func (filter *RateLimitFilter) IsAvailable() bool
Click to show internal directories.
Click to hide internal directories.