770 lines
38 KiB
Plaintext
770 lines
38 KiB
Plaintext
Changes since 4.0 Alpha 2
|
|
-------------------
|
|
|
|
* [HTTPCLIENT-705] Fixed incorrect handling of URIs with null path component
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-688] HttpOptions#getAllowedMethods can now handle multiple
|
|
Allow headers
|
|
Contributed by Andrea Selva <selva.andre at gmail.com>
|
|
|
|
|
|
Release 4.0 Alpha 2
|
|
-------------------
|
|
|
|
ALPHA2 release is another milestone in the redesign of HttpClient. It includes
|
|
a number of improvements since ALPHA1, among which are improved connection
|
|
pooling, support for proxy chains, redesigned HTTP state and authentication
|
|
credentials management API, improved RFC 2965 cookie specification.
|
|
|
|
-------------------
|
|
|
|
HttpClient 3.x features that have NOT yet been ported
|
|
-------------------
|
|
* NTLM authentication scheme
|
|
|
|
* Support for multipart MIME coded entities
|
|
-------------------
|
|
|
|
-------------------
|
|
|
|
Changelog
|
|
-------------------
|
|
|
|
* [HTTPCLIENT-698] Resolve non-absolute redirect URIs relative to
|
|
the request URI
|
|
Contributed by Johannes Koch <johannes.koch at fit.fraunhofer.de>
|
|
|
|
* [HTTPCLIENT-697] Throw a more intelligible exception when connection
|
|
to a remote host cannot be established.
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-689] Caching of SimpleDateFormat in DateUtils
|
|
Contributed by Daniel Müller <strider at digitalstrider.com>
|
|
|
|
* [HTTPCLIENT-689] stackable parameters in AbstractHttpClient
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-477] Use distinct instances of the authentication handler
|
|
interface for authentication with target and proxy hosts
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-690] ManagedClientConnection provides access to SSLSession
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-692] ClientConnectionManager throws InterruptedException
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCORE-116] moved parameter names to interfaces
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-649] support for proxy chains in HttpConn
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-636] refactor ThreadSafeClientConnManager in separate package
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-669] new HttpRoutePlanner interface and implementation
|
|
Contributed by Andrea Selva <selva.andre at gmail.com>
|
|
|
|
* [HTTPCLIENT-653] detached connection wrapper no longer prevents
|
|
garbage collection of ThreadSafeClientConnManager
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-674] use org.apache.http.util.VersionInfo instead of a local one
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-666] Replaced HttpState with CredentialsProvier and CookieStore interfaces
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCORE-100] revised HttpContext hierarchy
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-618] eliminate class HostConfiguration
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-672] re-sync with API changes in core alpha6-SNAPSHOT
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
--------------------------------------
|
|
|
|
HttpClient API changes (generated by JarDiff 0.2)
|
|
--------------------------------------
|
|
Class removed:
|
|
public org.apache.http.client.HttpState extends java.lang.Object
|
|
Class removed:
|
|
public org.apache.http.client.VersionInfo extends java.lang.Object
|
|
Class removed:
|
|
public org.apache.http.client.protocol.HttpClientContext extends org.apache.http.protocol.HttpExecutionContext
|
|
Class removed:
|
|
public org.apache.http.conn.HostConfiguration extends java.lang.Object
|
|
Class removed:
|
|
public org.apache.http.conn.RouteDirector extends java.lang.Object
|
|
Class removed:
|
|
public abstract org.apache.http.conn.SecureSocketFactory extends java.lang.Object implements org.apache.http.conn.SocketFactory
|
|
Class removed:
|
|
public final org.apache.http.cookie.params.CookieSpecParams extends java.lang.Object
|
|
Class removed:
|
|
public org.apache.http.impl.client.DefaultAuthenticationHandler extends java.lang.Object implements org.apache.http.client.AuthenticationHandler
|
|
Class removed:
|
|
public org.apache.http.impl.conn.ThreadSafeClientConnManager extends java.lang.Object implements org.apache.http.conn.ClientConnectionManager
|
|
Class added:
|
|
public abstract org.apache.http.auth.params.AuthPNames extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.client.CookieStore extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.client.CredentialsProvider extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.client.params.AllClientPNames extends java.lang.Object implements org.apache.http.params.CoreConnectionPNames, org.apache.http.params.CoreProtocolPNames, org.apache.http.client.params.ClientPNames, org.apache.http.auth.params.AuthPNames, org.apache.http.cookie.params.CookieSpecPNames, org.apache.http.conn.params.ConnConnectionPNames, org.apache.http.conn.params.ConnManagerPNames, org.apache.http.conn.params.ConnRoutePNames
|
|
Class added:
|
|
public abstract org.apache.http.client.params.ClientPNames extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.client.protocol.ClientContext extends java.lang.Object
|
|
Class added:
|
|
public org.apache.http.client.protocol.RequestDefaultHeaders extends java.lang.Object implements org.apache.http.HttpRequestInterceptor
|
|
Class added:
|
|
public org.apache.http.conn.BasicRouteDirector extends java.lang.Object implements org.apache.http.conn.HttpRouteDirector
|
|
Class added:
|
|
public org.apache.http.conn.HttpHostConnectException extends java.net.ConnectException
|
|
Class added:
|
|
public abstract org.apache.http.conn.HttpRouteDirector extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.conn.HttpRoutePlanner extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.conn.LayeredSocketFactory extends java.lang.Object implements org.apache.http.conn.SocketFactory
|
|
Class added:
|
|
public abstract org.apache.http.conn.params.ConnConnectionPNames extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.conn.params.ConnManagerPNames extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.conn.params.ConnRoutePNames extends java.lang.Object
|
|
Class added:
|
|
public org.apache.http.conn.params.HttpConnParams extends java.lang.Object
|
|
Class added:
|
|
public org.apache.http.conn.util.InetAddressUtils extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.cookie.ClientCookie extends java.lang.Object implements org.apache.http.cookie.Cookie
|
|
Class added:
|
|
public abstract org.apache.http.cookie.SetCookie extends java.lang.Object implements org.apache.http.cookie.Cookie
|
|
Class added:
|
|
public abstract org.apache.http.cookie.SetCookie2 extends java.lang.Object implements org.apache.http.cookie.SetCookie
|
|
Class added:
|
|
public abstract org.apache.http.cookie.params.CookieSpecPNames extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.impl.client.AbstractAuthenticationHandler extends java.lang.Object implements org.apache.http.client.AuthenticationHandler
|
|
Class added:
|
|
public org.apache.http.impl.client.BasicCookieStore extends java.lang.Object implements org.apache.http.client.CookieStore
|
|
Class added:
|
|
public org.apache.http.impl.client.BasicCredentialsProvider extends java.lang.Object implements org.apache.http.client.CredentialsProvider
|
|
Class added:
|
|
public org.apache.http.impl.client.ClientParamsStack extends org.apache.http.params.AbstractHttpParams
|
|
Class added:
|
|
public org.apache.http.impl.client.DefaultProxyAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler
|
|
Class added:
|
|
public org.apache.http.impl.client.DefaultTargetAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler
|
|
Class added:
|
|
public org.apache.http.impl.conn.DefaultHttpRoutePlanner extends java.lang.Object implements org.apache.http.conn.HttpRoutePlanner
|
|
Class added:
|
|
public org.apache.http.impl.conn.DefaultResponseParser extends org.apache.http.impl.io.AbstractMessageParser
|
|
Class added:
|
|
public abstract org.apache.http.impl.conn.tsccm.AbstractConnPool extends java.lang.Object implements org.apache.http.impl.conn.tsccm.RefQueueHandler
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.BasicPoolEntry extends org.apache.http.impl.conn.AbstractPoolEntry
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.BasicPoolEntryRef extends java.lang.ref.WeakReference
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.BasicPooledConnAdapter extends org.apache.http.impl.conn.AbstractPooledConnAdapter
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.ConnPoolByRoute extends org.apache.http.impl.conn.tsccm.AbstractConnPool
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.ConnPoolByRoute.WaitingThread extends java.lang.Object
|
|
Class added:
|
|
public abstract org.apache.http.impl.conn.tsccm.RefQueueHandler extends java.lang.Object
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.RefQueueWorker extends java.lang.Object implements java.lang.Runnable
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.RouteSpecificPool extends java.lang.Object
|
|
Class added:
|
|
public org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager extends java.lang.Object implements org.apache.http.conn.ClientConnectionManager
|
|
Class added:
|
|
public org.apache.http.impl.cookie.BasicClientCookie extends java.lang.Object implements org.apache.http.cookie.SetCookie, org.apache.http.cookie.ClientCookie
|
|
Class added:
|
|
public org.apache.http.impl.cookie.BasicClientCookie2 extends org.apache.http.impl.cookie.BasicClientCookie implements org.apache.http.cookie.SetCookie2
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965CommentUrlAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965DiscardAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965DomainAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965PortAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965Spec extends org.apache.http.impl.cookie.RFC2109Spec
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965SpecFactory extends java.lang.Object implements org.apache.http.cookie.CookieSpecFactory
|
|
Class added:
|
|
public org.apache.http.impl.cookie.RFC2965VersionAttributeHandler extends java.lang.Object implements org.apache.http.cookie.CookieAttributeHandler
|
|
Class changed: org.apache.http.auth.params.AuthParams
|
|
Fields removed:
|
|
public final static java.lang.String CREDENTIAL_CHARSET = http.protocol.credential-charset;
|
|
|
|
Class changed: org.apache.http.client.AuthenticationHandler
|
|
Methods removed:
|
|
public abstract java.util.Map getProxyChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
|
|
public abstract java.util.Map getTargetChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
|
|
public abstract boolean isProxyAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
|
|
public abstract boolean isTargetAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
|
|
|
|
Methods added:
|
|
public abstract java.util.Map getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
|
|
public abstract boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
|
|
|
|
Class changed: org.apache.http.client.ClientRequestDirector
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Class changed: org.apache.http.client.HttpClient
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public abstract org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Class changed: org.apache.http.client.methods.HttpOptions
|
|
Method changed:
|
|
old:
|
|
public java.util.Set getAllowedMethods(org.apache.http.HttpResponse);
|
|
|
|
new:
|
|
public java.util.Set getAllowedMethods(org.apache.http.HttpResponse) throws org.apache.http.ParseException;
|
|
|
|
Class changed: org.apache.http.client.methods.HttpUriRequest
|
|
Methods removed:
|
|
public abstract org.apache.http.HttpVersion getHttpVersion();
|
|
|
|
Class changed: org.apache.http.client.params.HttpClientParams
|
|
Fields removed:
|
|
public final static java.lang.String ALLOW_CIRCULAR_REDIRECTS = http.protocol.allow-circular-redirects;
|
|
public final static java.lang.String AUTH_SCHEME_PRIORITY = http.protocol-auth-scheme-priority;
|
|
public final static java.lang.String CONNECTION_MANAGER_FACTORY = http.connection-manager.factory;
|
|
public final static java.lang.String CONNECTION_MANAGER_TIMEOUT = http.connection-manager.timeout;
|
|
public final static java.lang.String COOKIE_POLICY = http.protocol.cookie-policy;
|
|
public final static java.lang.String DEFAULT_HEADERS = http.default-headers;
|
|
public final static java.lang.String DEFAULT_HOST = http.default-host;
|
|
public final static java.lang.String DEFAULT_PROXY = http.default-proxy;
|
|
public final static java.lang.String HANDLE_AUTHENTICATION = http.protocol.handle-authentication;
|
|
public final static java.lang.String HANDLE_REDIRECTS = http.protocol.handle-redirects;
|
|
public final static java.lang.String MAX_REDIRECTS = http.protocol.max-redirects;
|
|
public final static java.lang.String PREEMPTIVE_AUTHENTICATION = http.protocol.authentication-preemptive;
|
|
public final static java.lang.String REJECT_RELATIVE_REDIRECT = http.protocol.reject-relative-redirect;
|
|
public final static java.lang.String VIRTUAL_HOST = http.virtual-host;
|
|
|
|
Class changed: org.apache.http.conn.ClientConnectionManager
|
|
Methods added:
|
|
public abstract org.apache.http.params.HttpParams getParams();
|
|
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute);
|
|
|
|
new:
|
|
public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute) throws java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.conn.ConnectionPoolTimeoutException;
|
|
|
|
new:
|
|
public abstract org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
|
|
|
|
Class changed: org.apache.http.conn.HttpRoute
|
|
Methods removed:
|
|
deprecated: public final org.apache.http.conn.HostConfiguration toHostConfig();
|
|
|
|
Class changed: org.apache.http.conn.ManagedClientConnection
|
|
Methods removed:
|
|
public abstract void tunnelCreated(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Methods added:
|
|
public abstract javax.net.ssl.SSLSession getSSLSession();
|
|
public abstract void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
public abstract void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Class changed: org.apache.http.conn.RouteTracker
|
|
Methods removed:
|
|
deprecated: public final org.apache.http.conn.HostConfiguration toHostConfig();
|
|
|
|
Class changed: org.apache.http.conn.params.HttpConnectionManagerParams
|
|
Methods removed:
|
|
public static int getMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HostConfiguration);
|
|
public static void setMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HostConfiguration, int);
|
|
|
|
Methods added:
|
|
public static int getMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HttpRoute);
|
|
public static void setMaxConnectionsPerHost(org.apache.http.params.HttpParams, org.apache.http.conn.HttpRoute, int);
|
|
|
|
Fields removed:
|
|
public final static java.lang.String MAX_HOST_CONNECTIONS = http.connection-manager.max-per-host;
|
|
public final static java.lang.String MAX_TOTAL_CONNECTIONS = http.connection-manager.max-total;
|
|
|
|
Class changed: org.apache.http.conn.ssl.SSLSocketFactory
|
|
Class descriptor changed:
|
|
old:
|
|
public org.apache.http.conn.ssl.SSLSocketFactory extends java.lang.Object implements org.apache.http.conn.SecureSocketFactory
|
|
new:
|
|
public org.apache.http.conn.ssl.SSLSocketFactory extends java.lang.Object implements org.apache.http.conn.LayeredSocketFactory
|
|
Class changed: org.apache.http.cookie.Cookie
|
|
Methods removed:
|
|
public Cookie(java.lang.String, java.lang.String);
|
|
public boolean isDomainAttributeSpecified();
|
|
public boolean isPathAttributeSpecified();
|
|
public void setComment(java.lang.String);
|
|
public void setDomain(java.lang.String);
|
|
public void setDomainAttributeSpecified(boolean);
|
|
public void setExpiryDate(java.util.Date);
|
|
public void setPath(java.lang.String);
|
|
public void setPathAttributeSpecified(boolean);
|
|
public void setSecure(boolean);
|
|
public void setVersion(int);
|
|
public java.lang.String toString();
|
|
|
|
Methods added:
|
|
public abstract java.lang.String getCommentURL();
|
|
public abstract int[] getPorts();
|
|
|
|
Class descriptor changed:
|
|
old:
|
|
public org.apache.http.cookie.Cookie extends java.lang.Object
|
|
new:
|
|
public abstract org.apache.http.cookie.Cookie extends java.lang.Object
|
|
Method changed:
|
|
old:
|
|
public java.lang.String getComment();
|
|
|
|
new:
|
|
public abstract java.lang.String getComment();
|
|
|
|
Method changed:
|
|
old:
|
|
public java.lang.String getDomain();
|
|
|
|
new:
|
|
public abstract java.lang.String getDomain();
|
|
|
|
Method changed:
|
|
old:
|
|
public java.util.Date getExpiryDate();
|
|
|
|
new:
|
|
public abstract java.util.Date getExpiryDate();
|
|
|
|
Method changed:
|
|
old:
|
|
public java.lang.String getName();
|
|
|
|
new:
|
|
public abstract java.lang.String getName();
|
|
|
|
Method changed:
|
|
old:
|
|
public java.lang.String getPath();
|
|
|
|
new:
|
|
public abstract java.lang.String getPath();
|
|
|
|
Method changed:
|
|
old:
|
|
public java.lang.String getValue();
|
|
|
|
new:
|
|
public abstract java.lang.String getValue();
|
|
|
|
Method changed:
|
|
old:
|
|
public int getVersion();
|
|
|
|
new:
|
|
public abstract int getVersion();
|
|
|
|
Method changed:
|
|
old:
|
|
public boolean isExpired(java.util.Date);
|
|
|
|
new:
|
|
public abstract boolean isExpired(java.util.Date);
|
|
|
|
Method changed:
|
|
old:
|
|
public boolean isPersistent();
|
|
|
|
new:
|
|
public abstract boolean isPersistent();
|
|
|
|
Method changed:
|
|
old:
|
|
public boolean isSecure();
|
|
|
|
new:
|
|
public abstract boolean isSecure();
|
|
|
|
Class changed: org.apache.http.cookie.CookieAttributeHandler
|
|
Methods removed:
|
|
public abstract void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public abstract void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.cookie.CookieSpec
|
|
Methods added:
|
|
public abstract int getVersion();
|
|
public abstract org.apache.http.Header getVersionHeader();
|
|
|
|
Class changed: org.apache.http.cookie.SM
|
|
Fields added:
|
|
public final static java.lang.String COOKIE2 = Cookie2;
|
|
public final static java.lang.String SET_COOKIE2 = Set-Cookie2;
|
|
|
|
Class changed: org.apache.http.impl.client.AbstractHttpClient
|
|
Methods removed:
|
|
protected abstract org.apache.http.client.AuthenticationHandler createAuthenticationHandler();
|
|
protected abstract org.apache.http.client.HttpState createHttpState();
|
|
public final synchronized org.apache.http.client.AuthenticationHandler getAuthenticationHandler();
|
|
public final synchronized org.apache.http.client.HttpState getState();
|
|
public synchronized void setAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
|
|
public synchronized void setState(org.apache.http.client.HttpState);
|
|
|
|
Methods added:
|
|
public synchronized void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
|
|
public synchronized void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
|
|
protected abstract org.apache.http.client.CookieStore createCookieStore();
|
|
protected abstract org.apache.http.client.CredentialsProvider createCredentialsProvider();
|
|
protected abstract org.apache.http.conn.HttpRoutePlanner createHttpRoutePlanner();
|
|
protected abstract org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
|
|
protected abstract org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
|
|
protected org.apache.http.params.HttpParams determineParams(org.apache.http.HttpRequest);
|
|
public final synchronized org.apache.http.client.CookieStore getCookieStore();
|
|
public final synchronized org.apache.http.client.CredentialsProvider getCredentialsProvider();
|
|
public final synchronized org.apache.http.client.AuthenticationHandler getProxyAuthenticationHandler();
|
|
public final synchronized org.apache.http.conn.HttpRoutePlanner getRoutePlanner();
|
|
public final synchronized org.apache.http.client.AuthenticationHandler getTargetAuthenticationHandler();
|
|
public void removeRequestInterceptorByClass(java.lang.Class);
|
|
public void removeResponseInterceptorByClass(java.lang.Class);
|
|
public synchronized void setCookieStore(org.apache.http.client.CookieStore);
|
|
public synchronized void setCredentialsProvider(org.apache.http.client.CredentialsProvider);
|
|
public synchronized void setProxyAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
|
|
public synchronized void setRoutePlanner(org.apache.http.conn.HttpRoutePlanner);
|
|
public synchronized void setTargetAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
|
|
|
|
Method changed:
|
|
old:
|
|
public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public final org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public final org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Class changed: org.apache.http.impl.client.DefaultClientRequestDirector
|
|
Methods removed:
|
|
public DefaultClientRequestDirector(org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.params.HttpParams);
|
|
protected boolean createTunnel(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
Methods added:
|
|
public DefaultClientRequestDirector(org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.params.HttpParams);
|
|
protected boolean createTunnelToProxy(org.apache.http.conn.HttpRoute, int, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
protected boolean createTunnelToTarget(org.apache.http.conn.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
Method changed:
|
|
old:
|
|
protected org.apache.http.conn.ManagedClientConnection allocateConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.HttpException, org.apache.http.conn.ConnectionPoolTimeoutException;
|
|
|
|
new:
|
|
protected org.apache.http.conn.ManagedClientConnection allocateConnection(org.apache.http.conn.HttpRoute, long) throws org.apache.http.HttpException, org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
|
|
|
|
Method changed:
|
|
old:
|
|
public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
|
|
|
|
new:
|
|
public org.apache.http.HttpResponse execute(org.apache.http.client.RoutedRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException, java.lang.InterruptedException;
|
|
|
|
Class changed: org.apache.http.impl.client.DefaultHttpClient
|
|
Methods removed:
|
|
protected org.apache.http.client.AuthenticationHandler createAuthenticationHandler();
|
|
protected org.apache.http.client.HttpState createHttpState();
|
|
|
|
Methods added:
|
|
protected org.apache.http.client.CookieStore createCookieStore();
|
|
protected org.apache.http.client.CredentialsProvider createCredentialsProvider();
|
|
protected org.apache.http.conn.HttpRoutePlanner createHttpRoutePlanner();
|
|
protected org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
|
|
protected org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
|
|
|
|
Class changed: org.apache.http.impl.conn.AbstractClientConnAdapter
|
|
Methods added:
|
|
public javax.net.ssl.SSLSession getSSLSession();
|
|
|
|
Class changed: org.apache.http.impl.conn.AbstractPoolEntry
|
|
Methods removed:
|
|
protected AbstractPoolEntry(org.apache.http.conn.OperatedClientConnection);
|
|
public void tunnelCreated(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Methods added:
|
|
protected AbstractPoolEntry(org.apache.http.conn.OperatedClientConnection, org.apache.http.conn.HttpRoute);
|
|
public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Fields added:
|
|
protected org.apache.http.conn.HttpRoute plannedRoute;
|
|
|
|
Class changed: org.apache.http.impl.conn.AbstractPooledConnAdapter
|
|
Methods removed:
|
|
public void tunnelCreated(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Methods added:
|
|
public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Class changed: org.apache.http.impl.conn.DefaultClientConnection
|
|
Methods removed:
|
|
protected org.apache.http.io.HttpDataReceiver createHttpDataReceiver(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
protected org.apache.http.io.HttpDataTransmitter createHttpDataTransmitter(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Methods added:
|
|
protected org.apache.http.io.HttpMessageParser createResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
|
|
protected org.apache.http.io.SessionInputBuffer createSessionInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
protected org.apache.http.io.SessionOutputBuffer createSessionOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
|
|
|
|
Class changed: org.apache.http.impl.conn.SingleClientConnManager
|
|
Methods added:
|
|
public org.apache.http.params.HttpParams getParams();
|
|
|
|
Class changed: org.apache.http.impl.conn.SingleClientConnManager.PoolEntry
|
|
Fields removed:
|
|
protected org.apache.http.conn.HttpRoute plannedRoute;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BasicCommentHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BasicDomainHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BasicExpiresHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BasicMaxAgeHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BasicPathHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BasicSecureHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.BrowserCompatSpec
|
|
Methods added:
|
|
public int getVersion();
|
|
public org.apache.http.Header getVersionHeader();
|
|
|
|
Class changed: org.apache.http.impl.cookie.NetscapeDraftSpec
|
|
Methods added:
|
|
public int getVersion();
|
|
public org.apache.http.Header getVersionHeader();
|
|
|
|
Class changed: org.apache.http.impl.cookie.RFC2109DomainHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Class changed: org.apache.http.impl.cookie.RFC2109Spec
|
|
Methods added:
|
|
protected void formatCookieAsVer(org.apache.http.util.CharArrayBuffer, org.apache.http.cookie.Cookie, int);
|
|
protected void formatParamAsVer(org.apache.http.util.CharArrayBuffer, java.lang.String, java.lang.String, int);
|
|
public int getVersion();
|
|
public org.apache.http.Header getVersionHeader();
|
|
|
|
Class changed: org.apache.http.impl.cookie.RFC2109VersionHandler
|
|
Methods removed:
|
|
public void parse(org.apache.http.cookie.Cookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
Methods added:
|
|
public void parse(org.apache.http.cookie.SetCookie, java.lang.String) throws org.apache.http.cookie.MalformedCookieException;
|
|
|
|
API diff generated by JarDiff http://www.osjava.org/jardiff/
|
|
|
|
|
|
|
|
Release 4.0 Alpha 1
|
|
-------------------
|
|
|
|
HttpClient 4.0 represents a complete, ground-up redesign and almost a complete
|
|
rewrite of the HttpClient 3.x codeline. This release finally addresses several
|
|
design flaws that existed since the 1.0 release and could not be fixed without
|
|
a major code overhaul and breaking API compatibility.
|
|
|
|
The HttpClient 4.0 API is still very experimental and is bound to change
|
|
during the course of the ALPHA development phase. Several important features
|
|
have not yet been ported to the new API.
|
|
|
|
Architectural changes
|
|
---------------------
|
|
|
|
* Redesign of the HttpClient internals addressing all known
|
|
major architectural shortcomings of the 3.x codeline
|
|
|
|
* Cleaner, more flexible and expressive API
|
|
|
|
* Better performance and smaller memory footprint due to a more
|
|
efficient HTTP transport based on HttpCore. HttpClient 4.0 is
|
|
expected to be 10% to 25% faster than HttpClient 3.x codeline
|
|
|
|
* More modular structure
|
|
|
|
* Pluggable redirect and authentication handlers
|
|
|
|
* Support for protocol incerceptors
|
|
|
|
* Improved connection management
|
|
|
|
* Improved support for sending requests via a proxy or a chain of
|
|
proxies
|
|
|
|
* Improved handling redirects of entity enclosing requests
|
|
|
|
* More flexible SSL context customization
|
|
|
|
* Reduced intermediate garbage in the process of
|
|
generating HTTP requests and parsing HTTP responses
|
|
|
|
-------------------
|
|
|
|
HttpClient 3.x features that have NOT yet been ported
|
|
-------------------
|
|
* NTLM authentication scheme
|
|
|
|
* RFC2965 cookie policy (Cookie2)
|
|
|
|
* Support for multipart MIME coded entities
|
|
|
|
-------------------
|
|
|
|
Changelog
|
|
-------------------
|
|
|
|
The following is a list of contributions tracked in JIRA.
|
|
Note that this is not a complete list of contributions or changes.
|
|
Since the API was redesigned completely, tracking everything outside
|
|
of the source code repository would have been too burdensome.
|
|
|
|
* [HTTPCLIENT-655] User-Agent string no longer violates RFC
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-541] Virtual host API redesign
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-614] Allow for different strategies when checking
|
|
CN of x509 certificates
|
|
Contributed by Julius Davies <juliusdavies at gmail.com>
|
|
|
|
* [HTTPCLIENT-136] Fixed inadequate proxy support
|
|
Long standing architectural problem. Issue opened on 19/Dec/2002.
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-63] Support for pluggable redirect and authentication handlers
|
|
Long standing architectural problem. Issue opened on 15/Jul/2002.
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-245] Fixed redirect handling. HttpClient can now automatically
|
|
handle redirects of entity enclosing requests.
|
|
Long standing architectural problem. Issue opened on 14/Jul/2003.
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-613] HTTPS connections now verify CN of x509 certificates
|
|
Contributed by Julius Davies <juliusdavies at gmail.com>
|
|
|
|
* [HTTPCLIENT-497] Wire/header logger names consistent with class loggers
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-484] AuthSSLProtocolSocketFactory in the main distribution
|
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
|
|
|
* [HTTPCLIENT-589] Do not consume the remaining response content if
|
|
the connection is to be closed
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|
|
* [HTTPCLIENT-475] Support for unconnected sockets. HTTP requests can now be
|
|
aborted while network socket is still being connected.
|
|
Contributed by Roland Weber <rolandw at apache.org>
|
|
|