class EzClient::PersistentClient
Attributes
keep_alive_timeout[RW]
last_request_at[RW]
origin[RW]
Public Class Methods
new(origin, keep_alive_timeout)
click to toggle source
# File lib/ezclient/persistent_client.rb, line 8 def initialize(origin, keep_alive_timeout) self.origin = origin self.keep_alive_timeout = keep_alive_timeout self.last_request_at = nil end
Public Instance Methods
perform(*args)
click to toggle source
# File lib/ezclient/persistent_client.rb, line 14 def perform(*args) http_client.perform(*args).tap do self.last_request_at = EzClient.get_time end end
timed_out?()
click to toggle source
# File lib/ezclient/persistent_client.rb, line 20 def timed_out? last_request_at && EzClient.get_time - last_request_at >= keep_alive_timeout end
Private Instance Methods
http_client()
click to toggle source
# File lib/ezclient/persistent_client.rb, line 28 def http_client @http_client ||= HTTP.persistent(origin, timeout: keep_alive_timeout) end