class Springcm::Middleware::RetryConnectionFailed
Attributes
options[R]
Public Class Methods
new(app, options={ retries: 5 })
click to toggle source
# File lib/springcm-sdk/middleware/retry_connection_failed.rb, line 6 def initialize(app, options={ retries: 5 }) @app = app @options = options end
Public Instance Methods
call(env)
click to toggle source
# File lib/springcm-sdk/middleware/retry_connection_failed.rb, line 11 def call(env) retries = @options[:retries] delay = 1 begin @app.call(env).on_complete do |response_env| end rescue Faraday::ConnectionFailed => err if retries > 0 retries -= 1 sleep delay delay *= 2 retry else raise err end end end