diff --git a/beater/api/config/agent/handler.go b/beater/api/config/agent/handler.go index ecf8ff8610e..0cea807611b 100644 --- a/beater/api/config/agent/handler.go +++ b/beater/api/config/agent/handler.go @@ -68,7 +68,7 @@ func Handler(kbClient kibana.Client, config *config.AgentConfig) request.Handler // error handling c.Header().Set(headers.CacheControl, errCacheControl) - ok := c.IPRateLimiter == nil || c.IPRateLimiter.Allow() + ok := c.RateLimiter == nil || c.RateLimiter.Allow() if !ok { c.Result.SetDefault(request.IDResponseErrorsRateLimit) c.Write() diff --git a/beater/api/config/agent/handler_test.go b/beater/api/config/agent/handler_test.go index 5e45120d796..f8e487f0a2f 100644 --- a/beater/api/config/agent/handler_test.go +++ b/beater/api/config/agent/handler_test.go @@ -297,7 +297,7 @@ func TestAgentConfigRateLimit(t *testing.T) { ctx := &request.Context{} ctx.Reset(w, r) ctx.IsRum = true - ctx.IPRateLimiter = rate.NewLimiter(rate.Limit(0), 0) + ctx.RateLimiter = rate.NewLimiter(rate.Limit(0), 0) h(ctx) var actual map[string]string json.Unmarshal(w.Body.Bytes(), &actual) diff --git a/beater/api/intake/handler.go b/beater/api/intake/handler.go index 409467b820b..7e358e37a5a 100644 --- a/beater/api/intake/handler.go +++ b/beater/api/intake/handler.go @@ -50,7 +50,7 @@ func Handler(dec decoder.ReqDecoder, processor *stream.Processor, report publish return } - ok := c.IPRateLimiter == nil || c.IPRateLimiter.Allow() + ok := c.RateLimiter == nil || c.RateLimiter.Allow() if !ok { sendError(c, &stream.Error{ Type: stream.RateLimitErrType, Message: "rate limit exceeded"}) @@ -71,7 +71,7 @@ func Handler(dec decoder.ReqDecoder, processor *stream.Processor, report publish sendResponse(c, &sr) return } - res := processor.HandleStream(c.Request.Context(), c.IPRateLimiter, reqMeta, reader, report) + res := processor.HandleStream(c.Request.Context(), c.RateLimiter, reqMeta, reader, report) sendResponse(c, res) } diff --git a/beater/api/intake/handler_test.go b/beater/api/intake/handler_test.go index 5c98eb6c15d..261b6191a6a 100644 --- a/beater/api/intake/handler_test.go +++ b/beater/api/intake/handler_test.go @@ -142,7 +142,7 @@ func TestIntakeHandler(t *testing.T) { tc.setup(t) if tc.rateLimit != nil { - tc.c.IPRateLimiter = tc.rateLimit.ForIP(&http.Request{}) + tc.c.RateLimiter = tc.rateLimit.ForIP(&http.Request{}) } // call handler h := Handler(tc.dec, tc.processor, tc.reporter) diff --git a/beater/api/mux.go b/beater/api/mux.go index 1ff562a4990..8bb8b33dbdb 100644 --- a/beater/api/mux.go +++ b/beater/api/mux.go @@ -178,7 +178,7 @@ func backendMiddleware(cfg *config.Config, m map[request.ResultID]*monitoring.In func rumMiddleware(cfg *config.Config, m map[request.ResultID]*monitoring.Int) []middleware.Middleware { return append(apmMiddleware(m), middleware.SetRumFlagMiddleware(), - middleware.SetRateLimitMiddleware(cfg.RumConfig.EventRate), + middleware.SetIPRateLimitMiddleware(cfg.RumConfig.EventRate), middleware.CORSMiddleware(cfg.RumConfig.AllowOrigins), middleware.KillSwitchMiddleware(cfg.RumConfig.IsEnabled())) } diff --git a/beater/middleware/rate_limit_middleware.go b/beater/middleware/rate_limit_middleware.go index 870816b5696..5ef47cc1e54 100644 --- a/beater/middleware/rate_limit_middleware.go +++ b/beater/middleware/rate_limit_middleware.go @@ -25,13 +25,13 @@ import ( const burstMultiplier = 3 -// SetRateLimitMiddleware sets a rate limiter -func SetRateLimitMiddleware(cfg *config.EventRate) Middleware { +// SetIPRateLimitMiddleware sets a rate limiter +func SetIPRateLimitMiddleware(cfg *config.EventRate) Middleware { store, err := ratelimit.NewStore(cfg.LruSize, cfg.Limit, burstMultiplier) return func(h request.Handler) (request.Handler, error) { return func(c *request.Context) { - c.IPRateLimiter = store.ForIP(c.Request) + c.RateLimiter = store.ForIP(c.Request) h(c) }, err } diff --git a/beater/request/context.go b/beater/request/context.go index 265618487c1..f9cff1d1bb6 100644 --- a/beater/request/context.go +++ b/beater/request/context.go @@ -42,7 +42,7 @@ var ( type Context struct { Request *http.Request Logger *logp.Logger - IPRateLimiter *rate.Limiter + RateLimiter *rate.Limiter TokenSet bool Authorized bool IsRum bool @@ -58,7 +58,7 @@ func (c *Context) Reset(w http.ResponseWriter, r *http.Request) { c.TokenSet = false c.Authorized = false c.IsRum = false - c.IPRateLimiter = nil + c.RateLimiter = nil c.Result.Reset() c.w = w c.writeAttempts = 0