Release 3.1 Final
-------------------
New features:
-------------------
(1) HTTP state management
* RFC 2965 cookie specification support
-------------------
Changes since 3.1 RC 1
* [HTTPCLIENT-679] - Fixed RFC3986 compliance problem in URI absolutization
code.
Contributed by Jeff Dalton <jeffdalton104 at hotmail dot>
* [HTTPCLIENT-676] - Fixed memory leak in MultiThreadedHttpConnectionManager.
Contributed by Roland Weber <rolandw at apache.org>
* [HTTPCLIENT-675] - Fixed potential race condition in MultiThreadedHttpConnectionManager.
Contributed by Roland Weber <rolandw at apache.org>
* [HTTPCLIENT-665] - Internal collections of HttpState visible to subclasses.
Contributed by Roland Weber <rolandw at apache.org>
* [HTTPCLIENT-651] - Improved API Doc regarding response buffering.
Contributed by Ortwin Glueck <oglueck at apache.org>
* [HTTPCLIENT-645] - Cookie#compare() changed to do a simple case-sensitive string comparison
when comparing path attributes instead of using a static instance of RuleBasedCollator
Contributed by Oleg Kalnichevski <olegk at apache.org>
* [HTTPCLIENT-650] - Wire log for headers written one by one while parsing
instead of all at once afterwards, which fails on parse errors.
Contributed by Roland Weber <rolandw at apache.org>
API changes since release 3.0.1
-------------------
Class added:
public org.apache.commons.httpclient.HttpContentTooLargeException extends org.apache.commons.httpclient.HttpException
Class added:
public org.apache.commons.httpclient.InvalidRedirectLocationException extends org.apache.commons.httpclient.RedirectException
Class added:
public org.apache.commons.httpclient.cookie.Cookie2 extends org.apache.commons.httpclient.Cookie
Class added:
public abstract org.apache.commons.httpclient.cookie.CookieAttributeHandler extends java.lang.Object
Class added:
public final org.apache.commons.httpclient.cookie.CookieOrigin extends java.lang.Object
Class added:
public org.apache.commons.httpclient.cookie.CookiePathComparator extends java.lang.Object implements java.util.Comparator
Class added:
public abstract org.apache.commons.httpclient.cookie.CookieVersionSupport extends java.lang.Object
Class added:
public org.apache.commons.httpclient.cookie.RFC2965Spec extends org.apache.commons.httpclient.cookie.CookieSpecBase implements org.apache.commons.httpclient.cookie.CookieVersionSupport
Class added:
public org.apache.commons.httpclient.methods.FileRequestEntity extends java.lang.Object implements org.apache.commons.httpclient.methods.RequestEntity
Class changed: org.apache.commons.httpclient.ConnectMethod
Methods added:
public ConnectMethod(org.apache.commons.httpclient.HostConfiguration);
public java.lang.String getPath();
public org.apache.commons.httpclient.URI getURI() throws org.apache.commons.httpclient.URIException;
Method changed:
old:
public ConnectMethod();
new:
deprecated: public ConnectMethod();
Class changed: org.apache.commons.httpclient.ContentLengthInputStream
Methods added:
public int available() throws java.io.IOException;
Class changed: org.apache.commons.httpclient.HttpHost
Method changed:
old:
public java.lang.Object clone();
new:
public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
Class changed: org.apache.commons.httpclient.HttpMethodBase
Methods added:
public byte[] getResponseBody(int) throws java.io.IOException;
public java.lang.String getResponseBodyAsString(int) throws java.io.IOException;
protected void processCookieHeaders(org.apache.commons.httpclient.cookie.CookieSpec, org.apache.commons.httpclient.Header[], org.apache.commons.httpclient.HttpState, org.apache.commons.httpclient.HttpConnection);
Fields added:
protected org.apache.commons.httpclient.HttpVersion effectiveVersion;
protected org.apache.commons.httpclient.StatusLine statusLine;
Class changed: org.apache.commons.httpclient.HttpState
Fields added:
protected java.util.ArrayList cookies;
protected java.util.HashMap credMap;
protected java.util.HashMap proxyCred;
Class changed: org.apache.commons.httpclient.ProxyHost
Method changed:
old:
public java.lang.Object clone();
new:
public java.lang.Object clone() throws java.lang.CloneNotSupportedException;
Class changed: org.apache.commons.httpclient.SimpleHttpConnectionManager
Methods added:
public SimpleHttpConnectionManager(boolean);
public void shutdown();
Class changed: org.apache.commons.httpclient.URI
Methods removed:
protected void readObject(java.io.ObjectInputStream) throws java.lang.ClassNotFoundException, java.io.IOException;
protected void writeObject(java.io.ObjectOutputStream) throws java.io.IOException;
Method changed:
old:
public synchronized java.lang.Object clone();
new:
public synchronized java.lang.Object clone() throws java.lang.CloneNotSupportedException;
Field changed:
old:
protected static char[] rootPath;
new:
protected final static char[] rootPath;
Class changed: org.apache.commons.httpclient.auth.AuthSchemeBase
Methods removed:
deprecated: public abstract java.lang.String authenticate(org.apache.commons.httpclient.Credentials, java.lang.String, java.lang.String) throws org.apache.commons.httpclient.auth.AuthenticationException;
public abstract java.lang.String authenticate(org.apache.commons.httpclient.Credentials, org.apache.commons.httpclient.HttpMethod) throws org.apache.commons.httpclient.auth.AuthenticationException;
deprecated: public abstract java.lang.String getID();
public abstract java.lang.String getParameter(java.lang.String);
public abstract java.lang.String getRealm();
public abstract java.lang.String getSchemeName();
public abstract boolean isComplete();
public abstract boolean isConnectionBased();
public abstract void processChallenge(java.lang.String) throws org.apache.commons.httpclient.auth.MalformedChallengeException;
Class changed: org.apache.commons.httpclient.auth.RFC2617Scheme
Methods removed:
deprecated: public abstract java.lang.String authenticate(org.apache.commons.httpclient.Credentials, java.lang.String, java.lang.String) throws org.apache.commons.httpclient.auth.AuthenticationException;
public abstract java.lang.String authenticate(org.apache.commons.httpclient.Credentials, org.apache.commons.httpclient.HttpMethod) throws org.apache.commons.httpclient.auth.AuthenticationException;
public abstract java.lang.String getSchemeName();
public abstract boolean isComplete();
public abstract boolean isConnectionBased();
Class changed: org.apache.commons.httpclient.cookie.CookiePolicy
Methods added:
public static java.lang.String[] getRegisteredCookieSpecs();
Fields added:
deprecated: public final static int RFC2965 = 3;
public final static java.lang.String RFC_2965 = rfc2965;
Class changed: org.apache.commons.httpclient.cookie.RFC2109Spec
Fields added:
public final static java.lang.String SET_COOKIE_KEY = set-cookie;
Class changed: org.apache.commons.httpclient.methods.StringRequestEntity
Method changed:
old:
public StringRequestEntity(java.lang.String);
new:
deprecated: public StringRequestEntity(java.lang.String);
Class changed: org.apache.commons.httpclient.params.HttpMethodParams
Methods added:
public java.lang.String getUriCharset();
public void setUriCharset(java.lang.String);
Fields added:
public final static java.lang.String HTTP_URI_CHARSET = http.protocol.uri-charset;
Class changed: org.apache.commons.httpclient.util.IdleConnectionTimeoutThread
Methods added:
protected void handleCloseIdle