You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2008/04/27 23:23:33 UTC
svn commit: r652020 - in
/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http:
client/entity/ client/methods/ client/params/ client/utils/ conn/
conn/params/ conn/scheme/ conn/util/ impl/client/ impl/conn/ impl/conn/tsccm/
Author: olegk
Date: Sun Apr 27 14:23:31 2008
New Revision: 652020
URL: http://svn.apache.org/viewvc?rev=652020&view=rev
Log:
HTTPCLIENT-764: javadoc improvements
Contributed by Sam Berlin <sberlin at gmail.com>
Modified:
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/entity/UrlEncodedFormEntity.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpDelete.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpUriRequest.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientPNames.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientParamBean.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URIUtils.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URLEncodedUtils.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/BasicManagedEntity.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManager.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManagerFactory.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpHostConnectException.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnConnectionParamBean.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnManagerParamBean.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnRouteParamBean.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/scheme/PlainSocketFactory.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/util/InetAddressUtils.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/RedirectLocations.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java
httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/entity/UrlEncodedFormEntity.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/entity/UrlEncodedFormEntity.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/entity/UrlEncodedFormEntity.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/entity/UrlEncodedFormEntity.java Sun Apr 27 14:23:31 2008
@@ -37,8 +37,20 @@
import org.apache.http.entity.StringEntity;
import org.apache.http.protocol.HTTP;
+/**
+ * An entity composed of a list of url-encoded pairs.
+ * This is typically useful while sending an HTTP POST request.
+ */
public class UrlEncodedFormEntity extends StringEntity {
+ /**
+ * Constructs a new {@link UrlEncodedFormEntity} with the list
+ * of parameters in the specified encoding.
+ *
+ * @param parameters list of name/value pairs
+ * @param encoding encoding the name/value pairs be encoded with
+ * @throws UnsupportedEncodingException if the encoding isn't supported
+ */
public UrlEncodedFormEntity (
final List <NameValuePair> parameters,
final String encoding) throws UnsupportedEncodingException {
@@ -47,6 +59,13 @@
setContentType(URLEncodedUtils.CONTENT_TYPE);
}
+ /**
+ * Constructs a new {@link UrlEncodedFormEntity} with the list
+ * of parameters with the default encoding of {@link HTTP#DEFAULT_CONTENT_CHARSET}
+ *
+ * @param parameters list of name/value pairs
+ * @throws UnsupportedEncodingException if the default encoding isn't supported
+ */
public UrlEncodedFormEntity (
final List <NameValuePair> parameters) throws UnsupportedEncodingException {
super(URLEncodedUtils.format(parameters, HTTP.DEFAULT_CONTENT_CHARSET),
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpDelete.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpDelete.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpDelete.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpDelete.java Sun Apr 27 14:23:31 2008
@@ -34,10 +34,24 @@
import java.net.URI;
import java.net.URISyntaxException;
+/**
+ * HTTP DELETE method
+ * <p>
+ * The HTTP DELETE method is defined in section 9.7 of
+ * <a href="http://www.ietf.org/rfc/rfc2616.txt">RFC2616</a>:
+ * <blockquote>
+ * The DELETE method requests that the origin server delete the resource
+ * identified by the Request-URI. [...] The client cannot
+ * be guaranteed that the operation has been carried out, even if the
+ * status code returned from the origin server indicates that the action
+ * has been completed successfully.
+ * </blockquote>
+ */
public class HttpDelete extends HttpRequestBase {
public final static String METHOD_NAME = "DELETE";
+
public HttpDelete() {
super();
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpUriRequest.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpUriRequest.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpUriRequest.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/methods/HttpUriRequest.java Sun Apr 27 14:23:31 2008
@@ -49,8 +49,16 @@
*/
public interface HttpUriRequest extends HttpRequest {
+ /**
+ * Returns the HTTP method this request uses, such as <code>GET</code>,
+ * <code>PUT</code>, <code>POST</code>, or other.
+ */
String getMethod();
+ /**
+ * Returns the URI this request uses, such as
+ * <code>http://example.org/path/to/file</code>.
+ */
URI getURI();
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientPNames.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientPNames.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientPNames.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientPNames.java Sun Apr 27 14:23:31 2008
@@ -58,8 +58,16 @@
* This parameter expects a value of type {@link String}.
* </p>
*/
- public static final String CONNECTION_MANAGER_FACTORY = "http.connection-manager.factory";
-
+ public static final String CONNECTION_MANAGER_FACTORY_CLASS_NAME = "http.connection-manager.factory-class-name";
+
+ /**
+ * Defines the factory to create a default {@link org.apache.http.conn.ClientConnectionManager}.
+ * <p>
+ * This parameters expects a value of type {@link org.apache.http.conn.ClientConnectionManagerFactory}.
+ * </p>
+ */
+ public static final String CONNECTION_MANAGER_FACTORY = "http.connection-manager.factory-object";
+
/**
* Defines whether redirects should be handled automatically
* <p>
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientParamBean.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientParamBean.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientParamBean.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/params/ClientParamBean.java Sun Apr 27 14:23:31 2008
@@ -1,7 +1,7 @@
/*
- * $HeadURL:$
- * $Revision:$
- * $Date:$
+ * $HeadURL$
+ * $Revision$
+ * $Date$
*
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
@@ -35,6 +35,7 @@
import org.apache.http.Header;
import org.apache.http.HttpHost;
+import org.apache.http.conn.ClientConnectionManagerFactory;
import org.apache.http.params.HttpAbstractParamBean;
import org.apache.http.params.HttpParams;
@@ -48,7 +49,11 @@
params.setLongParameter(ClientPNames.CONNECTION_MANAGER_TIMEOUT, timeout);
}
- public void setConnectionManagerFactory (final String factory) {
+ public void setConnectionManagerFactoryClassName (final String factory) {
+ params.setParameter(ClientPNames.CONNECTION_MANAGER_FACTORY_CLASS_NAME, factory);
+ }
+
+ public void setConnectionManagerFactory(ClientConnectionManagerFactory factory) {
params.setParameter(ClientPNames.CONNECTION_MANAGER_FACTORY, factory);
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URIUtils.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URIUtils.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URIUtils.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URIUtils.java Sun Apr 27 14:23:31 2008
@@ -34,9 +34,43 @@
import org.apache.http.HttpHost;
+/**
+ * A collection of utilities for {@link URI URIs}, to workaround
+ * bugs within the class or for ease-of-use features.
+ */
public class URIUtils {
- public static URI createURI(
+ /**
+ * Constructs a {@link URI} using all the parameters. This should be
+ * used instead of
+ * {@link URI#URI(String, String, String, int, String, String, String)}
+ * or any of the other URI multi-argument URI constructors.
+ *
+ * See <a
+ * href="https://issues.apache.org/jira/browse/HTTPCLIENT-730">HTTPCLIENT-730</a>
+ * for more information.
+ *
+ * @param scheme
+ * Scheme name
+ * @param host
+ * Host name
+ * @param port
+ * Port number
+ * @param path
+ * Path
+ * @param query
+ * Query
+ * @param fragment
+ * Fragment
+ *
+ * @throws URISyntaxException
+ * If both a scheme and a path are given but the path is
+ * relative, if the URI string constructed from the given
+ * components violates RFC 2396, or if the authority
+ * component of the string is present but cannot be parsed
+ * as a server-based authority
+ */
+ public static URI createURI(
final String scheme,
final String host,
int port,
@@ -73,6 +107,22 @@
return new URI(buffer.toString());
}
+ /**
+ * A convenience method for creating a new {@link URI} whose scheme, host
+ * and port are taken from the target host, but whose path, query and
+ * fragment are taken from the existing URI. The fragment is only used if
+ * dropFragment is false.
+ *
+ * @param uri
+ * Contains the path, query and fragment to use.
+ * @param target
+ * Contains the scheme, host and port to use.
+ * @param dropFragment
+ * True if the fragment should not be copied.
+ *
+ * @throws URISyntaxException
+ * If the resulting URI is invalid.
+ */
public static URI rewriteURI(
final URI uri,
final HttpHost target,
@@ -99,6 +149,11 @@
}
}
+ /**
+ * A convenience method for
+ * {@link URIUtils#rewriteURI(URI, HttpHost, boolean)} that always keeps the
+ * fragment.
+ */
public static URI rewriteURI(
final URI uri,
final HttpHost target) throws URISyntaxException {
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URLEncodedUtils.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URLEncodedUtils.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URLEncodedUtils.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/client/utils/URLEncodedUtils.java Sun Apr 27 14:23:31 2008
@@ -46,12 +46,28 @@
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
+/**
+ * A collection of utilities for encoding URLs.
+ */
public class URLEncodedUtils {
public static final String CONTENT_TYPE = "application/x-www-form-urlencoded";
private static final String PARAMETER_SEPARATOR = "&";
private static final String NAME_VALUE_SEPARATOR = "=";
+ /**
+ * Returns a list of {@link NameValuePair NameValuePairs} as built from the
+ * URI's query portion. For example, a URI of
+ * http://example.org/path/to/file?a=1&b=2&c=3 would return a list of three
+ * NameValuePairs, one for a=1, one for b=2, and one for c=3.
+ * <p>
+ * This is typically useful while parsing an HTTP PUT.
+ *
+ * @param uri
+ * uri to parse
+ * @param encoding
+ * encoding to use while parsing the query
+ */
public static List <NameValuePair> parse (final URI uri, final String encoding) {
List <NameValuePair> result = Collections.emptyList();
final String query = uri.getRawQuery();
@@ -62,6 +78,18 @@
return result;
}
+ /**
+ * Returns a list of {@link NameValuePair NameValuePairs} as parsed from an
+ * {@link HttpEntity}. The encoding is taken from the entity's
+ * Content-Encoding header.
+ * <p>
+ * This is typically used while parsing an HTTP POST.
+ *
+ * @param entity
+ * The entity to parse
+ * @throws IOException
+ * If there was an exception getting the entity's data.
+ */
public static List <NameValuePair> parse (
final HttpEntity entity) throws IOException {
List <NameValuePair> result = Collections.emptyList();
@@ -77,11 +105,29 @@
return result;
}
+ /**
+ * Returns true if the entity's Content-Type header is
+ * <code>application/x-www-form-urlencoded</code>.
+ */
public static boolean isEncoded (final HttpEntity entity) {
final Header contentType = entity.getContentType();
return (contentType != null && contentType.getValue().equalsIgnoreCase(CONTENT_TYPE));
}
+ /**
+ * Adds all parameters within the Scanner to the list of
+ * <code>parameters</code>, as encoded by <code>encoding</code>. For
+ * example, a scanner containing the string <code>a=1&b=2&c=3</code> would
+ * add the {@link NameValuePair NameValuePairs} a=1, b=2, and c=3 to the
+ * list of parameters.
+ *
+ * @param parameters
+ * List to add parameters to.
+ * @param scanner
+ * Input that contains the parameters to parse.
+ * @param encoding
+ * Encoding to use when decoding the parameters.
+ */
public static void parse (
final List <NameValuePair> parameters,
final Scanner scanner,
@@ -100,6 +146,13 @@
}
}
+ /**
+ * Returns a String that is suitable for use as an <code>application/x-www-form-urlencoded</code>
+ * list of parameters in an HTTP PUT or HTTP POST.
+ *
+ * @param parameters The parameters to include.
+ * @param encoding The encoding to use.
+ */
public static String format (
final List <NameValuePair> parameters,
final String encoding) {
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/BasicManagedEntity.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/BasicManagedEntity.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/BasicManagedEntity.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/BasicManagedEntity.java Sun Apr 27 14:23:31 2008
@@ -40,7 +40,7 @@
/**
* An entity that releases a {@link ManagedClientConnection connection}.
- * A {@link ManagedClientConnection ManagedClientConnection} will
+ * A {@link ManagedClientConnection} will
* typically <i>not</i> return a managed entity, but you can replace
* the unmanaged entity in the response with a managed one.
*
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManager.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManager.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManager.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManager.java Sun Apr 27 14:23:31 2008
@@ -64,7 +64,7 @@
/**
* Returns a new {@link ClientConnectionRequest}, from which a
- * {@link ManagedClientConnection} can be obtained, or the request can be
+ * {@link ManagedClientConnection} can be obtained or the request can be
* aborted.
*/
ClientConnectionRequest requestConnection(HttpRoute route, Object state)
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManagerFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManagerFactory.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManagerFactory.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/ClientConnectionManagerFactory.java Sun Apr 27 14:23:31 2008
@@ -35,6 +35,7 @@
import org.apache.http.params.HttpParams;
/**
+ * A factory for creating new {@link ClientConnectionManager} instances.
*
* @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
*
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpHostConnectException.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpHostConnectException.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpHostConnectException.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/HttpHostConnectException.java Sun Apr 27 14:23:31 2008
@@ -34,6 +34,10 @@
import org.apache.http.HttpHost;
+/**
+ * A {@link ConnectException} that specifies the {@link HttpHost} that was
+ * being connected to.
+ */
public class HttpHostConnectException extends ConnectException {
private static final long serialVersionUID = -3194482710275220224L;
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnConnectionParamBean.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnConnectionParamBean.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnConnectionParamBean.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnConnectionParamBean.java Sun Apr 27 14:23:31 2008
@@ -1,7 +1,7 @@
/*
- * $HeadURL:$
- * $Revision:$
- * $Date:$
+ * $HeadURL$
+ * $Revision$
+ * $Date$
*
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
@@ -34,12 +34,20 @@
import org.apache.http.params.HttpAbstractParamBean;
import org.apache.http.params.HttpParams;
+/**
+ * Allows for setting parameters relating to connections on
+ * {@link HttpParams}. This class ensures that the values set on the params
+ * are type-safe.
+ */
public class ConnConnectionParamBean extends HttpAbstractParamBean {
public ConnConnectionParamBean (final HttpParams params) {
super(params);
}
+ /**
+ * @see ConnConnectionPNames#MAX_STATUS_LINE_GARBAGE
+ */
public void setMaxStatusLineGarbage (final int maxStatusLineGarbage) {
params.setIntParameter(ConnConnectionPNames.MAX_STATUS_LINE_GARBAGE, maxStatusLineGarbage);
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnManagerParamBean.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnManagerParamBean.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnManagerParamBean.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnManagerParamBean.java Sun Apr 27 14:23:31 2008
@@ -34,16 +34,23 @@
import org.apache.http.params.HttpAbstractParamBean;
import org.apache.http.params.HttpParams;
+/**
+ * Allows for setting parameters relating to connection managers on
+ * {@link HttpParams}. This class ensures that the values set on the params
+ * are type-safe.
+ */
public class ConnManagerParamBean extends HttpAbstractParamBean {
public ConnManagerParamBean (final HttpParams params) {
super(params);
}
+ /** @see ConnManagerPNames#MAX_TOTAL_CONNECTIONS */
public void setMaxTotalConnections (final int maxConnections) {
params.setIntParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, maxConnections);
}
+ /** @see ConnManagerPNames#MAX_CONNECTIONS_PER_ROUTE */
public void setConnectionsPerRoute(final ConnPerRouteBean connPerRoute) {
params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE, connPerRoute);
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnRouteParamBean.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnRouteParamBean.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnRouteParamBean.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/params/ConnRouteParamBean.java Sun Apr 27 14:23:31 2008
@@ -1,7 +1,7 @@
/*
- * $HeadURL:$
- * $Revision:$
- * $Date:$
+ * $HeadURL$
+ * $Revision$
+ * $Date$
*
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
@@ -38,20 +38,28 @@
import org.apache.http.params.HttpAbstractParamBean;
import org.apache.http.params.HttpParams;
+/**
+ * Allows for setting parameters relating to connection routes on
+ * {@link HttpParams}. This class ensures that the values set on the params
+ * are type-safe.
+ */
public class ConnRouteParamBean extends HttpAbstractParamBean {
public ConnRouteParamBean (final HttpParams params) {
super(params);
}
+ /** @see ConnRoutePNames#DEFAULT_PROXY */
public void setDefaultProxy (final HttpHost defaultProxy) {
params.setParameter(ConnRoutePNames.DEFAULT_PROXY, defaultProxy);
}
+ /** @see ConnRoutePNames#LOCAL_ADDRESS */
public void setLocalAddress (final InetAddress address) {
params.setParameter(ConnRoutePNames.LOCAL_ADDRESS, address);
}
+ /** @see ConnRoutePNames#FORCED_ROUTE */
public void setForcedRoute (final HttpRoute route) {
params.setParameter(ConnRoutePNames.FORCED_ROUTE, route);
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/scheme/PlainSocketFactory.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/scheme/PlainSocketFactory.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/scheme/PlainSocketFactory.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/scheme/PlainSocketFactory.java Sun Apr 27 14:23:31 2008
@@ -41,8 +41,6 @@
/**
* The default class for creating sockets.
- * This class just uses the {@link java.net.Socket socket} API
- * in Java 1.4 or greater.
*
* @author <a href="mailto:rolandw at apache.org">Roland Weber</a>
* @author Michael Becke
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/util/InetAddressUtils.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/util/InetAddressUtils.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/util/InetAddressUtils.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/conn/util/InetAddressUtils.java Sun Apr 27 14:23:31 2008
@@ -33,6 +33,9 @@
import java.util.regex.Pattern;
+/**
+ * A collection of utilities relating to InetAddresses.
+ */
public class InetAddressUtils {
private InetAddressUtils() {
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/DefaultHttpClient.java Sun Apr 27 14:23:31 2008
@@ -151,28 +151,37 @@
registry.register(
new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
- ClientConnectionManager connManager = null;
-
+ ClientConnectionManager connManager = null;
HttpParams params = getParams();
- String className = (String) params.getParameter(
- ClientPNames.CONNECTION_MANAGER_FACTORY);
- if (className != null) {
- try {
- Class<?> clazz = Class.forName(className);
- ClientConnectionManagerFactory factory =
- (ClientConnectionManagerFactory) clazz.newInstance();
- connManager = factory.newInstance(params, registry);
- } 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());
+ 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;
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/RedirectLocations.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/RedirectLocations.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/RedirectLocations.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/client/RedirectLocations.java Sun Apr 27 14:23:31 2008
@@ -35,6 +35,9 @@
import java.util.HashSet;
import java.util.Set;
+/**
+ * A collection of URIs that were used as redirects.
+ */
public class RedirectLocations {
private final Set<URI> uris;
@@ -44,14 +47,23 @@
this.uris = new HashSet<URI>();
}
+ /**
+ * Returns true if this collection contains the given URI.
+ */
public boolean contains(final URI uri) {
return this.uris.contains(uri);
}
+ /**
+ * Adds a new URI to the list of redirects.
+ */
public void add(final URI uri) {
this.uris.add(uri);
}
+ /**
+ * Removes a URI from the list of redirects.
+ */
public boolean remove(final URI uri) {
return this.uris.remove(uri);
}
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/AbstractClientConnAdapter.java Sun Apr 27 14:23:31 2008
@@ -94,6 +94,7 @@
/** The reusability marker. */
private volatile boolean markedReusable;
+ /** True if the connection has been aborted. */
private volatile boolean aborted;
/**
Modified: httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java?rev=652020&r1=652019&r2=652020&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java (original)
+++ httpcomponents/httpclient/trunk/module-client/src/main/java/org/apache/http/impl/conn/tsccm/PoolEntryRequest.java Sun Apr 27 14:23:31 2008
@@ -41,7 +41,7 @@
/**
* Obtains a pool entry with a connection within the given timeout.
- * If {@link #abortRequest()} is called before this completes,
+ * If {@link #abortRequest()} is called before this completes
* an {@link InterruptedException} is thrown.
*
* @param timeout the timeout, 0 or negative for no timeout
@@ -53,7 +53,7 @@
* @throws ConnectionPoolTimeoutException
* if the timeout expired
* @throws InterruptedException
- * if the calling thread was interrupted
+ * if the calling thread was interrupted or the request was aborted
*/
BasicPoolEntry getPoolEntry(
long timeout,