@@ -31,9 +31,9 @@ type Limiter interface {
3131 // Rule returns the key and rate limit rule for the request
3232 Rule (r * http.Request ) (rule * Rule , err error )
3333 // ShouldSetXRateLimitHeaders returns true if the X-RateLimit-* headers should be set
34- ShouldSetXRateLimitHeaders (* LimitError ) bool
34+ ShouldSetXRateLimitHeaders (* Context ) bool
3535 // OnRequestLimit returns the handler to be called when the rate limit is exceeded
36- OnRequestLimit (* LimitError ) http.HandlerFunc
36+ OnRequestLimit (* Context ) http.HandlerFunc
3737
3838 // Get returns the current count for the key and window
3939 Get (key string , window time.Time ) (count int , err error ) //nostyle:getters
@@ -115,23 +115,23 @@ func (lm *limitMw) Handler(next http.Handler) http.Handler {
115115 case <- ctx .Done ():
116116 // Increment must be called even if the request limit is already exceeded
117117 if err := lh .limiter .Increment (lh .key , currWindow ); err != nil {
118- return newLimitError (http .StatusInternalServerError , err , lh )
118+ return newContext (http .StatusInternalServerError , err , lh )
119119 }
120120 return nil
121121 default :
122122 }
123123 rate , err := lh .status (now , currWindow )
124124 if err != nil {
125- return newLimitError (http .StatusPreconditionRequired , err , lh )
125+ return newContext (http .StatusPreconditionRequired , err , lh )
126126 }
127127 nrate := int (math .Round (rate ))
128128 if nrate >= lh .reqLimit {
129- return newLimitError (http .StatusTooManyRequests , ErrRateLimitExceeded , lh )
129+ return newContext (http .StatusTooManyRequests , ErrRateLimitExceeded , lh )
130130 }
131131
132132 lh .rateLimitRemaining = lh .reqLimit - nrate
133133 if err := lh .limiter .Increment (lh .key , currWindow ); err != nil {
134- return newLimitError (http .StatusInternalServerError , err , lh )
134+ return newContext (http .StatusInternalServerError , err , lh )
135135 }
136136 return nil
137137 })
@@ -144,7 +144,7 @@ func (lm *limitMw) Handler(next http.Handler) http.Handler {
144144 // Wait for all limiters to finish
145145 if err := eg .Wait (); err != nil {
146146 // Handle first error
147- if e , ok := err .(* LimitError ); ok {
147+ if e , ok := err .(* Context ); ok {
148148 if e .lh .limiter .ShouldSetXRateLimitHeaders (e ) {
149149 w .Header ().Set ("X-RateLimit-Limit" , fmt .Sprintf ("%d" , e .lh .reqLimit ))
150150 w .Header ().Set ("X-RateLimit-Remaining" , fmt .Sprintf ("%d" , e .lh .rateLimitRemaining ))
0 commit comments