class NetObserver::LastRequest

Last Request class

Its main purpose is to remember last request send via network. @example Enable last request and print it when Connection Error appear

NetObserver::LastRequest.instance.enable
begin
  ..
rescue ActiveResource::ConnectionError => e
  last_request = NetObserver::LastRequest.instance.last_request
  site = "#{last_request[:connection].use_ssl? ? "https" : "http"}://"+last_request[:connection].address
  log.error "Job failed due to communication problem with #{site}."
  log.error "Request: path: #{last_request[:request].path} with body #{last_request[:body]}."
  log.error "Response: #{e.inspect} with body #{e.response.body}."
end

Attributes

last_request[R]

last request sent via network

Public Instance Methods

disable() click to toggle source

Disable storing requests

# File lib/net_observer/last_request.rb, line 29
def disable
        @last_request = nil
        Base.instance.delete_observer(self)
end
enable() click to toggle source

Enable storing last request

# File lib/net_observer/last_request.rb, line 23
def enable
        @last_request = nil
        Base.instance.add_observer(self)
end
update(type, request, body, connection) click to toggle source

methods to receive information about connection. Needed to allow itself to register agains Base @see NetObserver::Base for parameters details

# File lib/net_observer/last_request.rb, line 36
def update(type, request, body, connection)
        case type
        when :response
                return #don't care
        when :request
                @last_request = { :connection => connection, :request => request, :body => (request.body || body)}
        end
end