Httpclient/2.1.5

Hi all,

httpclient/2.1.5 has been released.

This release includes IMPORTANT update for HTTPS(SSL) connection.
Trusted CA bundle file included in httpclient <= 2.1.4 expires in Nov
2009. Please update to 2.1.5 by Oct 2009 if your application depends
on trusted CA bundle file.

It also fixes some bugs. See the last of this mail for more detail.

= What’s this =

‘httpclient’ gives something like the functionality of libwww-perl
(LWP) in Ruby. ‘httpclient’ formerly known as ‘http-access2’.

Features:

  • methods like GET/HEAD/POST/* via HTTP/1.1.

  • HTTPS(SSL), Cookies, proxy, authentication(Digest, NTLM, Basic), etc.

  • asynchronous HTTP request, streaming HTTP request.

  • by contrast with net/http in standard distribution;

    • Cookies support
    • MT-safe
    • streaming POST (POST with File/IO)
    • Digest auth
    • Negotiate/NTLM auth for WWW-Authenticate (requires net/htlm module)
    • NTLM auth for WWW-Authenticate/Proxy-Authenticate (requires
      win32/sspi module)
    • extensible with filter interface
    • you don’t have to care HTTP/1.1 persistent connection (httpclient
      cares instead of you)
  • Not supported now

    • Cache
    • Rather advanced HTTP/1.1 usage such as Range, deflate, etc. (of
      course you can set it in header by yourself)

= API Document =

http://dev.ctor.org/doc/httpclient/

= Download =

= Changes in 2.1.5 =

  • IMPORTANT update for HTTPS(SSL) connection
    • Trusted CA bundle file included in httpclient <= 2.1.4 expires in
      Nov 2009. Please update to 2.1.5 by Oct 2009 if your application
      depends on trusted CA bundle file.
    • Updated trusted CA certificates file (cacert.p7s). CA certs are
      imported from ‘Java™ SE Runtime Environment (build 1.6.0_13-b03)’.
    • Updated a cacert distribution certificate. RSA 2048 bit + SHA512
  • notAfter:2037/12/31. (#215)
  • Feature

    • WWW authentication with Negotiate based on win32/sspi as same as
      Proxy authentication. Applied a patch from Paul Casto. Thanks! (#212)
  • Bug fixes

    • Infinite loop caused by EOF error while reading response message
      body without Content-Length. IO#readpartial does not clear the second
      argument (buffer) when an exception raised. Fixed by a patch from an
      user. Thanks! (#216)
    • !NoMethodError caused by the cookie string that includes a double
      semicolons “;;”. Fixed by a patch from an user. Thanks! (#211)
    • CNONCE attribute in Digest Authentication was not properly
      generated by itself (used same nonce sent from the connecting server).
      Fixed by a patch from bterlson
      [http://github.com/bterlson/httpclient/commit/6d0df734840985a7be88a2d54443bbf892d50b9a]
      Thanks! (#209)
    • Cookie header was not set in authentication negotiation. Fixed.
      This bug was found and pointed out by bterlson at
      [http://github.com/bterlson/httpclient/commits/master]. Thanks! (#210)
    • Do not send ‘Content-Length: 0’ when a request doesn’t have
      message body. Some server application (!EasySoap++/0.6 for example)
      corrupts with the request with Content-Length: 0. This bug was found
      by clay
      [http://daemons.net/~clay/2009/05/03/ruby-why-do-you-torment-me/].
      Thanks! (#217)
    • Ensure to reset connection after invoking HTTPClient singleton
      methods for accessing such as HTTPClient.get_content. Thanks to
      @xgavin! (#214)

Regards,
// NaHi