Parent

Files

Class/Module Index [+]

Quicksearch

HTTPClient::SessionManager

Manages sessions for a HTTPClient instance.

Attributes

agent_name[RW]

Name of this client. Used for 'User-Agent' header in HTTP request.

chunk_size[RW]

Chunk size for chunked request

connect_retry[RW]

Maximum retry count. 0 for infinite.

connect_timeout[RW]
debug_dev[RW]

Device for dumping log for debugging

from[RW]

Owner of this client. Used for 'From' header in HTTP request.

protocol_retry_count[RW]
protocol_version[RW]

Requested protocol version

read_block_size[RW]
receive_timeout[RW]
send_timeout[RW]
socket_sync[RW]

Boolean value for Socket#sync

ssl_config[RW]
test_loopback_http_response[R]

Public Class Methods

new(client) click to toggle source
# File lib/httpclient/session.rb, line 109
def initialize(client)
  @client = client
  @proxy = client.proxy

  @agent_name = nil
  @from = nil

  @protocol_version = nil
  @debug_dev = client.debug_dev
  @socket_sync = true
  @chunk_size = 4096

  @connect_timeout = 60
  @connect_retry = 1
  @send_timeout = 120
  @receive_timeout = 60       # For each read_block_size bytes
  @read_block_size = 1024 * 16 # follows net/http change in 1.8.7
  @protocol_retry_count = 5

  @ssl_config = nil
  @test_loopback_http_response = []

  @sess_pool = []
  @sess_pool_mutex = Mutex.new
end

Public Instance Methods

keep(sess) click to toggle source
# File lib/httpclient/session.rb, line 164
def keep(sess)
  add_cached_session(sess)
end
proxy=(proxy) click to toggle source
# File lib/httpclient/session.rb, line 135
def proxy=(proxy)
  if proxy.nil?
    @proxy = nil
  else
    @proxy = Site.new(proxy)
  end
end
query(req, via_proxy) click to toggle source
# File lib/httpclient/session.rb, line 143
def query(req, via_proxy)
  req.body.chunk_size = @chunk_size
  sess = open(req.header.request_uri, via_proxy)
  begin
    sess.query(req)
  rescue
    sess.close
    raise
  end
  sess
end
reset(uri) click to toggle source
# File lib/httpclient/session.rb, line 155
def reset(uri)
  site = Site.new(uri)
  close(site)
end
reset_all() click to toggle source
# File lib/httpclient/session.rb, line 160
def reset_all
  close_all
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.