class HTTPClient::SessionManager
def get_cached_session(site)
def get_cached_session(site) if Thread.current[:HTTPClient_AcquireNewConnection] return nil end @sess_pool_mutex.synchronize do now = Time.now if now > @sess_pool_last_checked + @keep_alive_timeout scrub_cached_session(now) @sess_pool_last_checked = now end if pool = @sess_pool[site] pool.each_with_index do |sess, idx| if valid_session?(sess, now) return pool.slice!(idx) end end end end nil end