From dfb2a384abb2c9e58f4d5e09a7cf7e8d7c6c012e Mon Sep 17 00:00:00 2001 From: Mahima Singh Date: Thu, 19 Mar 2026 11:43:34 +0530 Subject: [PATCH 1/2] (P4DEVOPS-9434) Wire RateLimiter middleware into API Rack stack --- lib/vmpooler/api.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/vmpooler/api.rb b/lib/vmpooler/api.rb index 3b0d9de..7c81fcf 100644 --- a/lib/vmpooler/api.rb +++ b/lib/vmpooler/api.rb @@ -3,7 +3,7 @@ module Vmpooler class API < Sinatra::Base # Load API components - %w[helpers dashboard v3 request_logger healthcheck].each do |lib| + %w[helpers dashboard v3 request_logger healthcheck rate_limiter].each do |lib| require "vmpooler/api/#{lib}" end # Load dashboard components @@ -50,6 +50,11 @@ module Vmpooler # Enable API request logging only if required use Vmpooler::API::RequestLogger, logger: logger if config[:config]['request_logger'] + # Enable rate limiting if configured + if config[:config]['rate_limiting_enabled'] + use Vmpooler::API::RateLimiter, redis, config + end + use Vmpooler::Dashboard use Vmpooler::API::Dashboard use Vmpooler::API::V3 From bbd299a4a511ae6c819776282a9636bc144f57cb Mon Sep 17 00:00:00 2001 From: Mahima Singh Date: Thu, 19 Mar 2026 11:48:31 +0530 Subject: [PATCH 2/2] (maint) Fix rubocop: use modifier if form for rate limiter --- lib/vmpooler/api.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/vmpooler/api.rb b/lib/vmpooler/api.rb index 7c81fcf..7f3236f 100644 --- a/lib/vmpooler/api.rb +++ b/lib/vmpooler/api.rb @@ -51,9 +51,7 @@ module Vmpooler use Vmpooler::API::RequestLogger, logger: logger if config[:config]['request_logger'] # Enable rate limiting if configured - if config[:config]['rate_limiting_enabled'] - use Vmpooler::API::RateLimiter, redis, config - end + use Vmpooler::API::RateLimiter, redis, config if config[:config]['rate_limiting_enabled'] use Vmpooler::Dashboard use Vmpooler::API::Dashboard