Method: Gem::Net::HTTP::Persistent::Pool#checkout

Defined in:
lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb

#checkout(net_http_args) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb', line 43

def checkout net_http_args
  stacks = Thread.current[@key] ||= {}
  stack  = stacks[net_http_args] ||= []

  if stack.empty? then
    conn = @available.pop connection_args: net_http_args
  else
    conn = stack.last
  end

  stack.push conn

  conn
end