Sha256: 2f6c8c86efa1bdbeb03d02966626d926500d2e58ad7ef6db24f00283d45e18da
Contents?: true
Size: 1.63 KB
Versions: 3
Compression:
Stored size: 1.63 KB
Contents
= persistent_http * http://github.com/bpardee/persistent_http == DESCRIPTION: Persistent connections using Net::HTTP with a connection pool. This is based on Eric Holder's Net::HTTP::Persistent libary but uses a connection pool of Net::HTTP objects instead of a connection per thread. C/T is fine if you're only using your http threads to make connections but if you use them in child threads then I suspect you will have a thread memory leak. Also, you will generally get less connection resets if the most recently used connection is always returned. == FEATURES/PROBLEMS: * Supports SSL * Thread-safe * Pure ruby * Timeout-less speed boost for 1.8 (by Aaron Patterson) == INSTALL: gem install persistent_http == EXAMPLE USAGE: require 'persistent_http' class MyHTTPClient @@persistent_http = PersistentHTTP.new( :name => 'MyHTTPClient', :logger => Rails.logger, :pool_size => 10, :warn_timeout => 0.25, :force_retry => true, :url => 'https://www.example.com/echo/foo' # equivalent to :use_ssl => true, :host => 'www.example.com', :default_path => '/echo/foo' ) def send_get_message response = @@persistent_http.request ... Handle response as you would a normal Net::HTTPResponse ... end def send_post_message request = Net::HTTP::Post.new('/perform_service) ... Modify request as needed ... response = @@persistent_http.request(request) ... Handle response as you would a normal Net::HTTPResponse ... end end == Copyright Copyright (c) 2010 Eric Hodel, Aaron Patterson, Brad Pardee. See LICENSE for details.
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
persistent_http-1.0.2 | README.rdoc |
persistent_http-1.0.1 | README.rdoc |
persistent_http-1.0.0 | README.rdoc |