mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-01 19:45:19 +02:00
- Introduced NoopApiRateLimiter to effectively disable API rate limiting for self-hosted mode. - Updated ApiRateLimiter to delegate to NoopApiRateLimiter when running self-hosted. - Increased Rack::Attack throttle limits significantly for self-hosted deployments. - Added tests for NoopApiRateLimiter to ensure correct behavior. - This allows self-hosted users to make more API requests without restriction, while keeping stricter limits for SaaS deployments.
39 lines
525 B
Ruby
39 lines
525 B
Ruby
class NoopApiRateLimiter
|
|
def initialize(api_key)
|
|
@api_key = api_key
|
|
end
|
|
|
|
def rate_limit_exceeded?
|
|
false
|
|
end
|
|
|
|
def increment_request_count!
|
|
# No operation
|
|
end
|
|
|
|
def current_count
|
|
0
|
|
end
|
|
|
|
def rate_limit
|
|
Float::INFINITY
|
|
end
|
|
|
|
def reset_time
|
|
0
|
|
end
|
|
|
|
def usage_info
|
|
{
|
|
current_count: 0,
|
|
rate_limit: Float::INFINITY,
|
|
remaining: Float::INFINITY,
|
|
reset_time: 0,
|
|
tier: :noop
|
|
}
|
|
end
|
|
|
|
def self.usage_for(api_key)
|
|
new(api_key).usage_info
|
|
end
|
|
end
|