class Librato::Metrics::Middleware::Retry
Public Class Methods
new(app, retries = 3)
click to toggle source
Calls superclass method
# File lib/librato/metrics/middleware/retry.rb, line 7 def initialize(app, retries = 3) @retries = retries super(app) end
Public Instance Methods
call(env)
click to toggle source
# File lib/librato/metrics/middleware/retry.rb, line 12 def call(env) retries = @retries request_body = env[:body] begin env[:body] = request_body # after failure is set to response body @app.call(env) rescue Librato::Metrics::ServerError, Timeout::Error, Faraday::Error::ConnectionFailed if retries > 0 retries -= 1 and retry end raise end end