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