diff --git a/_examples/miscellaneous/ratelimit/main.go b/_examples/miscellaneous/ratelimit/main.go index b204702d..2260840a 100644 --- a/_examples/miscellaneous/ratelimit/main.go +++ b/_examples/miscellaneous/ratelimit/main.go @@ -23,10 +23,10 @@ func newApp() *iris.Application { // Allow 1 request per second, with a maximum burst size of 5. // // Third optional variadic input parameter: - // Can be a cleanup function. + // Can be a cleanup function. // Iris provides a cleanup function that will check for old entries and remove them. - // You can customize it, e.g. check every 1 minute - // if a client's last visit was 5 minutes ago ("old" entry) + // You can customize it, e.g. check every 1 minute + // if a client's last visit was 5 minutes ago ("old" entry) // and remove it from the memory. rateLimiter := rate.Limit(1, 5, rate.PurgeEvery(time.Minute, 5*time.Minute)) app.Use(rateLimiter) diff --git a/middleware/rate/rate.go b/middleware/rate/rate.go index 94005537..40fffb86 100644 --- a/middleware/rate/rate.go +++ b/middleware/rate/rate.go @@ -89,9 +89,7 @@ func Limit(limit float64, burst int, options ...Option) context.Handler { } func (l *Limiter) acquire() *Client { - v := l.pool.Get().(*Client) - v.LastSeen = time.Now() - return v + return l.pool.Get().(*Client) } func (l *Limiter) release(client *Client) {