Class | Net::HTTP::ConnectionPool |
In: |
lib/net/http/connection_pool.rb
lib/net/http/connection_pool/connection.rb lib/net/http/connection_pool/session.rb |
Parent: | Object |
SOCKET_ERRORS | = | [ EOFError, IOError, Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE, Errno::EINVAL |
idle_timeout | [R] | @return [Integer] |
open_timeout | [RW] | @return [Integer] |
@param [Hash] options
@option options [Numeric] :idle_timeout (60) The number of seconds a
connection is allowed to sit idle before it is closed and removed from the pool.
@option options [Numeric] :open_timeout (15) The number of seconds to
wait when opening a http session before raising a timeout exception.
Requests a http session from the connection pool.
pool.connection_for('domain.com') do |connection| # make connection.request(Net::HTTP::Get.new('/index.html')) connection.request(Net::HTTP::Get.new('/about.html')) end
The yielded connection object is a thin wrapper around the persistent http session object. You generally want to call {Connection#request} on the yielded object. When the block is complete the connection will be returned to the pool.
@param [String] host
@param [Hash] options
@option options [Integer] :port Which port the connection should use.
Defaults to 80, unless +:ssl+ is +true+, then it defaults to 443.
@option options [Boolean] :ssl If the connection should be made over
SSL. Defaults to +false+, unless +:port+ is 443, then it defaults to +true+.
@option options [Boolean] :ssl_verify_peer (true) If true, ssl
connections will verify peer certificates. This should only ever be set false false for debugging purposes.
@option options [String] :ssl_ca_file Full path to the SSL certificate
authority bundle file that should be used when verifying peer certificates. If you do not pass +:ssl_ca_file+ or +:ssl_ca_path+ the the system default will be used if available.
@option options [String] :ssl_ca_path Full path of the directory that
contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass +:ssl_ca_file+ or +:ssl_ca_path+ the the system default will be used if available.
@option options [URI::HTTP,String] :proxy_uri (nil) A URI string or
URI::HTTP for a proxy reqeusts should be made through. You should not pass both +:proxy_uri+ with any of the other proxy options. :proxy_uri => 'http://user:pass@host.com:80'
@option options [String] :proxy_address
@option options [String] :proxy_port
@option options [String] :proxy_user
@option options [String] :proxy_password
@yieldparam [Connection] connection
@return [nil]
Closes and removes removes all sessions from the pool. If empty! is called while there are outstanding requests they may get checked back into the pool, leaving the pool in a non-empty state.