diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:18 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:18 -0800 |
commit | e5d9544310b857f3ee9ec172bdbff8077323f9a1 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/org/apache/http/impl/client/DefaultHttpClient.java | |
parent | 8b7d40049e7f35f9770fc024363a9fa6e88dff15 (diff) | |
download | external_apache-http-e5d9544310b857f3ee9ec172bdbff8077323f9a1.zip external_apache-http-e5d9544310b857f3ee9ec172bdbff8077323f9a1.tar.gz external_apache-http-e5d9544310b857f3ee9ec172bdbff8077323f9a1.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'src/org/apache/http/impl/client/DefaultHttpClient.java')
-rw-r--r-- | src/org/apache/http/impl/client/DefaultHttpClient.java | 332 |
1 files changed, 0 insertions, 332 deletions
diff --git a/src/org/apache/http/impl/client/DefaultHttpClient.java b/src/org/apache/http/impl/client/DefaultHttpClient.java deleted file mode 100644 index f0b694e..0000000 --- a/src/org/apache/http/impl/client/DefaultHttpClient.java +++ /dev/null @@ -1,332 +0,0 @@ -/* - * $HeadURL: http://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java $ - * $Revision: 677250 $ - * $Date: 2008-07-16 04:45:47 -0700 (Wed, 16 Jul 2008) $ - * - * ==================================================================== - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - */ - -package org.apache.http.impl.client; - -import org.apache.http.ConnectionReuseStrategy; -import org.apache.http.HttpVersion; -import org.apache.http.auth.AuthSchemeRegistry; -import org.apache.http.client.AuthenticationHandler; -import org.apache.http.client.CookieStore; -import org.apache.http.client.CredentialsProvider; -import org.apache.http.client.HttpRequestRetryHandler; -import org.apache.http.client.RedirectHandler; -import org.apache.http.client.UserTokenHandler; -import org.apache.http.client.params.AuthPolicy; -import org.apache.http.client.params.ClientPNames; -import org.apache.http.client.params.CookiePolicy; -import org.apache.http.client.protocol.ClientContext; -import org.apache.http.client.protocol.RequestAddCookies; -import org.apache.http.client.protocol.RequestDefaultHeaders; -import org.apache.http.client.protocol.RequestProxyAuthentication; -import org.apache.http.client.protocol.RequestTargetAuthentication; -import org.apache.http.client.protocol.ResponseProcessCookies; -import org.apache.http.conn.ClientConnectionManager; -import org.apache.http.conn.ClientConnectionManagerFactory; -import org.apache.http.conn.ConnectionKeepAliveStrategy; -import org.apache.http.conn.routing.HttpRoutePlanner; -import org.apache.http.conn.scheme.PlainSocketFactory; -import org.apache.http.conn.scheme.Scheme; -import org.apache.http.conn.scheme.SchemeRegistry; -import org.apache.http.conn.ssl.SSLSocketFactory; -import org.apache.http.cookie.CookieSpecRegistry; -import org.apache.http.impl.DefaultConnectionReuseStrategy; -import org.apache.http.impl.auth.BasicSchemeFactory; -import org.apache.http.impl.auth.DigestSchemeFactory; -import org.apache.http.impl.conn.DefaultHttpRoutePlanner; -import org.apache.http.impl.conn.SingleClientConnManager; -import org.apache.http.impl.cookie.BestMatchSpecFactory; -import org.apache.http.impl.cookie.BrowserCompatSpecFactory; -import org.apache.http.impl.cookie.NetscapeDraftSpecFactory; -import org.apache.http.impl.cookie.RFC2109SpecFactory; -import org.apache.http.impl.cookie.RFC2965SpecFactory; -import org.apache.http.params.BasicHttpParams; -import org.apache.http.params.HttpParams; -import org.apache.http.params.HttpProtocolParams; -import org.apache.http.protocol.BasicHttpContext; -import org.apache.http.protocol.BasicHttpProcessor; -import org.apache.http.protocol.HTTP; -import org.apache.http.protocol.HttpContext; -import org.apache.http.protocol.HttpRequestExecutor; -import org.apache.http.protocol.RequestConnControl; -import org.apache.http.protocol.RequestContent; -import org.apache.http.protocol.RequestExpectContinue; -import org.apache.http.protocol.RequestTargetHost; -import org.apache.http.protocol.RequestUserAgent; -import org.apache.http.util.VersionInfo; - - - -/** - * Default implementation of an HTTP client. - * <br/> - * This class replaces <code>HttpClient</code> in HttpClient 3. - * - * @author <a href="mailto:rolandw at apache.org">Roland Weber</a> - * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a> - * - * <!-- empty lines to avoid svn diff problems --> - * @version $Revision: 677250 $ - * - * @since 4.0 - */ -public class DefaultHttpClient extends AbstractHttpClient { - - - /** - * Creates a new HTTP client from parameters and a connection manager. - * - * @param params the parameters - * @param conman the connection manager - */ - public DefaultHttpClient( - final ClientConnectionManager conman, - final HttpParams params) { - super(conman, params); - } - - - public DefaultHttpClient(final HttpParams params) { - super(null, params); - } - - - public DefaultHttpClient() { - super(null, null); - } - - - @Override - protected HttpParams createHttpParams() { - HttpParams params = new BasicHttpParams(); - HttpProtocolParams.setVersion(params, - HttpVersion.HTTP_1_1); - HttpProtocolParams.setContentCharset(params, - HTTP.DEFAULT_CONTENT_CHARSET); - HttpProtocolParams.setUseExpectContinue(params, - true); - - // determine the release version from packaged version info - final VersionInfo vi = VersionInfo.loadVersionInfo - ("org.apache.http.client", getClass().getClassLoader()); - final String release = (vi != null) ? - vi.getRelease() : VersionInfo.UNAVAILABLE; - HttpProtocolParams.setUserAgent(params, - "Apache-HttpClient/" + release + " (java 1.4)"); - - return params; - } - - - @Override - protected HttpRequestExecutor createRequestExecutor() { - return new HttpRequestExecutor(); - } - - - @Override - protected ClientConnectionManager createClientConnectionManager() { - SchemeRegistry registry = new SchemeRegistry(); - registry.register( - new Scheme("http", PlainSocketFactory.getSocketFactory(), 80)); - registry.register( - new Scheme("https", SSLSocketFactory.getSocketFactory(), 443)); - - ClientConnectionManager connManager = null; - HttpParams params = getParams(); - - ClientConnectionManagerFactory factory = null; - - // Try first getting the factory directly as an object. - factory = (ClientConnectionManagerFactory) params - .getParameter(ClientPNames.CONNECTION_MANAGER_FACTORY); - if (factory == null) { // then try getting its class name. - String className = (String) params.getParameter( - ClientPNames.CONNECTION_MANAGER_FACTORY_CLASS_NAME); - if (className != null) { - try { - Class<?> clazz = Class.forName(className); - factory = (ClientConnectionManagerFactory) clazz.newInstance(); - } catch (ClassNotFoundException ex) { - throw new IllegalStateException("Invalid class name: " + className); - } catch (IllegalAccessException ex) { - throw new IllegalAccessError(ex.getMessage()); - } catch (InstantiationException ex) { - throw new InstantiationError(ex.getMessage()); - } - } - } - - if(factory != null) { - connManager = factory.newInstance(params, registry); - } else { - connManager = new SingleClientConnManager(getParams(), registry); - } - - return connManager; - } - - - @Override - protected HttpContext createHttpContext() { - HttpContext context = new BasicHttpContext(); - context.setAttribute( - ClientContext.AUTHSCHEME_REGISTRY, - getAuthSchemes()); - context.setAttribute( - ClientContext.COOKIESPEC_REGISTRY, - getCookieSpecs()); - context.setAttribute( - ClientContext.COOKIE_STORE, - getCookieStore()); - context.setAttribute( - ClientContext.CREDS_PROVIDER, - getCredentialsProvider()); - return context; - } - - - @Override - protected ConnectionReuseStrategy createConnectionReuseStrategy() { - return new DefaultConnectionReuseStrategy(); - } - - @Override - protected ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy() { - return new DefaultConnectionKeepAliveStrategy(); - } - - - @Override - protected AuthSchemeRegistry createAuthSchemeRegistry() { - AuthSchemeRegistry registry = new AuthSchemeRegistry(); - registry.register( - AuthPolicy.BASIC, - new BasicSchemeFactory()); - registry.register( - AuthPolicy.DIGEST, - new DigestSchemeFactory()); - return registry; - } - - - @Override - protected CookieSpecRegistry createCookieSpecRegistry() { - CookieSpecRegistry registry = new CookieSpecRegistry(); - registry.register( - CookiePolicy.BEST_MATCH, - new BestMatchSpecFactory()); - registry.register( - CookiePolicy.BROWSER_COMPATIBILITY, - new BrowserCompatSpecFactory()); - registry.register( - CookiePolicy.NETSCAPE, - new NetscapeDraftSpecFactory()); - registry.register( - CookiePolicy.RFC_2109, - new RFC2109SpecFactory()); - registry.register( - CookiePolicy.RFC_2965, - new RFC2965SpecFactory()); - return registry; - } - - - @Override - protected BasicHttpProcessor createHttpProcessor() { - BasicHttpProcessor httpproc = new BasicHttpProcessor(); - httpproc.addInterceptor(new RequestDefaultHeaders()); - // Required protocol interceptors - httpproc.addInterceptor(new RequestContent()); - httpproc.addInterceptor(new RequestTargetHost()); - // Recommended protocol interceptors - httpproc.addInterceptor(new RequestConnControl()); - httpproc.addInterceptor(new RequestUserAgent()); - httpproc.addInterceptor(new RequestExpectContinue()); - // HTTP state management interceptors - httpproc.addInterceptor(new RequestAddCookies()); - httpproc.addInterceptor(new ResponseProcessCookies()); - // HTTP authentication interceptors - httpproc.addInterceptor(new RequestTargetAuthentication()); - httpproc.addInterceptor(new RequestProxyAuthentication()); - return httpproc; - } - - - @Override - protected HttpRequestRetryHandler createHttpRequestRetryHandler() { - return new DefaultHttpRequestRetryHandler(); - } - - - @Override - protected RedirectHandler createRedirectHandler() { - return new DefaultRedirectHandler(); - } - - - @Override - protected AuthenticationHandler createTargetAuthenticationHandler() { - return new DefaultTargetAuthenticationHandler(); - } - - - @Override - protected AuthenticationHandler createProxyAuthenticationHandler() { - return new DefaultProxyAuthenticationHandler(); - } - - - @Override - protected CookieStore createCookieStore() { - return new BasicCookieStore(); - } - - - @Override - protected CredentialsProvider createCredentialsProvider() { - return new BasicCredentialsProvider(); - } - - - @Override - protected HttpRoutePlanner createHttpRoutePlanner() { - return new DefaultHttpRoutePlanner - (getConnectionManager().getSchemeRegistry()); - } - - - @Override - protected UserTokenHandler createUserTokenHandler() { - return new DefaultUserTokenHandler(); - } - -} // class DefaultHttpClient |