Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Oct 26, 2011
  1. Initial try for SSL session reuse

    Should have tests.
Commits on Oct 16, 2011
  1. Version bump for 2.2.2

  2. Do not ignore '*.rbc'

    Those files should not be included in packages.
  3. Do not run verify_depth test on Travis

    On travis environment, verify_depth seems to not work properly.  Ubuntu
    10.04 + OpenSSL 0.9.8k issue? Should be tracked as an ext/openssl
  4. Set response String encoding

    Parse content-type response header with some helps from OpenURI::Meta
    and set response String encoding.  Closes #26.
Commits on Oct 14, 2011
  1. Optimize cached session access performance

    Change @sess_pool from an Array to a Hash with Site as a key.  Each
    value is an Array of sessions.  This should improve cache access
    performance if multiple sites are in cache.
    In addition to the change, do scrub the cache every @keep_alive_timeout
    seconds.  This also should improve cache access performance since it was
    scrubbing the cache every time.  See #69
Commits on Oct 13, 2011
  1. Reuse cached session in MRU order, not in LRU

    MRU is more server friendly than LRU because it reduces number of cached
    sessions when a number of requests drops after an usaage spike.
    Closes #68.
    With reusing sessions in LRU order, all sessions are equally checked if
    it's closed or not, as far as there's a request to the same site.  With
    reusing sessions in MRU order, old cold sessions are kept in cache long
    time even if there's a request to the same site.  To avoid this leakage,
    this commit adds keep_alive_timeout property and let SessionManager
    scrub all sessions with checking the timeout for each session.  When the
    session expires against the last used time, it's closed and collected.
    keep_alive_timeout is 15[sec] by default. The value is from the default
    value for KeepAliveTimeout of Apache httpd 2.  This change is related
    to #56.
Commits on Oct 12, 2011
  1. Check verify_depth with 1 and 2

    0 seems not work on Travis worker. Drop meaningless test.
  2. Much worse performance than needed

    Remove defined?(Encoding::ASCII_8BIT) lookups while running http
    request/response according to xb's suggenstion at #64. Thanks!
    Closes #64.
  3. Do not sort query params on request

    I wrongly sorted query params at 261b280 for making debug easier...
    Closes #65.
Commits on Sep 23, 2011
Commits on Aug 20, 2011
  1. Revert "Suppress known and ignorable errors"

    This reverts commit 2bf5da7.
    I'll try to fix JRuby soon. Use this as a testcase.
Commits on Aug 17, 2011
  1. Change test parameter

    Let's see what will happen when we set dpeth = 0
  2. Add verify_depth assert message

    This test fails on Travis CI. To know what version of OpenSSL they are
  3. Stop running CI for rbx

    I should say 'httpclient does not run on rbx' at this moment.
     - rubinius/rubinius#689
  4. Make use of Travis CI

  5. Add Gemfile for Bundler

  6. Suppress known and ignorable errors

    Need to fix at JRuby side.
  7. Use bundler as a part of build system

    Preparing for Travis CI.
Commits on Jun 2, 2011
  1. Version bump to 2.2.1.

  2. chmod 644

  3. Add tags, pkg and coverage

  4. Make test TZ-free

    No one except graaff and JST guys run testcase many years...
    Close #39.
  5. Close session when we get EOF while reading message body

    For chunked encoding, we didn't check it. For non-chunked encoding, it
    was closed at get_body but there was a chance not closed if the session
    is keep-alive.  Close #51.
Commits on May 30, 2011
  1. Remove extra call to File#rewind

    Based on similarity between Body#dump and Body#dump_chunked, I found
    that File#rewind is wrongly called for MIME/multipart form upload.
  2. Add test for streaming + non-chunked post

    And I realized that chunk size was overridden by session. Changed the
    chunk size from 4K to 16K.
  3. Regression: setting proxy with URI

    client.proxy = '' and client.proxy = URI.parse('') broken by
    f29310d. Fixed.
  4. Merge pull request #59 from nabeken/improved-put-post

    (resubmit) disable Transfer-Encoding: chuncked when IO respond to :read
  5. Merge pull request #57 from ashb/master

    ENV['http_proxy'] can be an empty string
Commits on May 28, 2011
  1. @nabeken

    Do not send request with Transfer-Encoding: chuncked when IO respond …

    nabeken authored
    …to :size
    1. There is no need to send query with Transfer-Encoding: chuncked when
       IO respond to :size.
    2. Lighttpd does not support PUT, POST with Transfer-Encoding: chuncked.
       You will see that the lighty respond with 200 OK, but there is a file
       whose size is zero...
       timeout occurs certainly when you send very large file and @send_timeout is
       default since HTTPClient::Session#query() assumes that *all* write
       are finished in @send_timeout sec not each write.
       increment @send_timeout and @receive_timeout or set @send_timeout and
       @receive_timeout to 0 not to be timeout.
Commits on May 25, 2011
  1. @nabeken

    Use free port number for WEBrick::HTTPProxyServer

    nabeken authored committed
    Signed-off-by: Hiroshi Nakamura <>
Commits on May 24, 2011
  1. Ignore *~

Something went wrong with that request. Please try again.