class PrettyTimeouts::Middleware

Public Class Methods

new(app, service_name) click to toggle source
Calls superclass method
# File lib/pretty_timeouts/middleware.rb, line 3
def initialize(app, service_name)
  super(app)
  @service_name = service_name
end

Public Instance Methods

call(env) click to toggle source
# File lib/pretty_timeouts/middleware.rb, line 8
def call(env)
  begin
    @app.call(env)
  rescue Faraday::Error::TimeoutError
    raise ::PrettyTimeouts::TimeoutError.new(@service_name, env[:request][:timeout], env[:url])

  rescue Faraday::Error::ConnectionFailed => e
    raise ::PrettyTimeouts::ConnectionFailed.new(@service_name, env[:request][:open_timeout], env[:url], e.message)
  end
end