class ZendeskAPI::Middleware::Request::RaiseRateLimited
Faraday middleware to handle HTTP Status 429 (rate limiting) / 503 (maintenance) @private
Constants
- ERROR_CODES
Public Class Methods
new(app, options = {})
click to toggle source
Calls superclass method
# File lib/zendesk_api/middleware/request/raise_rate_limited.rb, line 13 def initialize(app, options = {}) super(app) @logger = options[:logger] end
Public Instance Methods
call(env)
click to toggle source
# File lib/zendesk_api/middleware/request/raise_rate_limited.rb, line 18 def call(env) response = @app.call(env) if ERROR_CODES.include?(response.env[:status]) @logger&.warn 'You have been rate limited. Raising error...' raise Error::RateLimited, env else response end end