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 2007/05/14 10:42:10 UTC
svn commit: r537750 - in
/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http:
client/params/HttpClientParams.java impl/client/DefaultHttpClient.java
Author: olegk
Date: Mon May 14 01:42:09 2007
New Revision: 537750
URL: http://svn.apache.org/viewvc?view=rev&rev=537750
Log:
Added default host and default proxy parameters HTTP client can fall back onto when determining request route
Modified:
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/params/HttpClientParams.java
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultHttpClient.java
Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/params/HttpClientParams.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/params/HttpClientParams.java?view=diff&rev=537750&r1=537749&r2=537750
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/params/HttpClientParams.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/client/params/HttpClientParams.java Mon May 14 01:42:09 2007
@@ -61,14 +61,6 @@
*/
public static final String CONNECTION_MANAGER_FACTORY = "http.connection-manager.factory";
- /**
- * Defines whether authentication should be attempted preemptively.
- * <p>
- * This parameter expects a value of type {@link Boolean}.
- * </p>
- */
- public static final String PREEMPTIVE_AUTHENTICATION = "http.authentication.preemptive";
-
/**
* Defines whether redirects should be handled automatically
* <p>
@@ -105,6 +97,22 @@
public static final String ALLOW_CIRCULAR_REDIRECTS = "http.protocol.allow-circular-redirects";
/**
+ * Defines whether authentication should be handled automatically.
+ * <p>
+ * This parameter expects a value of type {@link Boolean}.
+ * </p>
+ */
+ public static final String HANDLE_AUTHENTICATION = "http.protocol.handle-authentication";
+
+ /**
+ * Defines whether authentication should be attempted preemptively.
+ * <p>
+ * This parameter expects a value of type {@link Boolean}.
+ * </p>
+ */
+ public static final String PREEMPTIVE_AUTHENTICATION = "http.protocol.authentication-preemptive";
+
+ /**
* Defines the name of the cookie specification to be used for HTTP state management.
* <p>
* This parameter expects a value of type {@link String}.
@@ -121,6 +129,24 @@
*/
public static final String DEFAULT_HEADERS = "http.default-headers";
+ /**
+ * Defines the default host. The default value will be used if the target host is
+ * not explicitly specified in the request URI.
+ * <p>
+ * This parameter expects a value of type {@link HttpHost}.
+ * </p>
+ */
+ public static final String DEFAULT_HOST = "http.default-host";
+
+ /**
+ * Defines the default proxy. The default value will be used if the proxy
+ * information is not explicitly specified in the request route.
+ * <p>
+ * This parameter expects a value of type {@link HttpHost}.
+ * </p>
+ */
+ public static final String DEFAULT_PROXY = "http.default-proxy";
+
private HttpClientParams() {
super();
}
Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultHttpClient.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultHttpClient.java?view=diff&rev=537750&r1=537749&r2=537750
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultHttpClient.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultHttpClient.java Mon May 14 01:42:09 2007
@@ -244,18 +244,23 @@
HttpContext context)
throws HttpException {
- //@@@ refer to a default HostConfiguration?
- //@@@ allow null target if there is a default route with a target?
if (target == null) {
- throw new IllegalArgumentException
+ target = (HttpHost) request.getParams().getParameter(
+ HttpClientParams.DEFAULT_HOST);
+ }
+ if (target == null) {
+ throw new IllegalStateException
("Target host must not be null.");
}
+ HttpHost proxy = (HttpHost) request.getParams().getParameter(
+ HttpClientParams.DEFAULT_PROXY);
+
Scheme schm = getConnectionManager().getSchemeRegistry().
getScheme(target.getSchemeName());
// as it is typically used for TLS/SSL, we assume that
// a layered scheme implies a secure connection
- HttpRoute route = new HttpRoute(target, null, schm.isLayered());
+ HttpRoute route = new HttpRoute(target, null, proxy, schm.isLayered());
return new RoutedRequest.Impl(request, route);
}