HTTPCLIENT-711: Bad route computed for redirected requests
git-svn-id: https://svn.apache.org/repos/asf/jakarta/httpcomponents/httpclient/trunk@604433 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f1f1a7a72c
commit
d417db6bba
|
@ -1,6 +1,9 @@
|
||||||
Changes since 4.0 Alpha 2
|
Changes since 4.0 Alpha 2
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
* [HTTPCLIENT-711] Bad route computed for redirected requests
|
||||||
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
||||||
|
|
||||||
* [HTTPCLIENT-705] Fixed incorrect handling of URIs with null path component
|
* [HTTPCLIENT-705] Fixed incorrect handling of URIs with null path component
|
||||||
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@ import org.apache.http.HttpResponse;
|
||||||
import org.apache.http.auth.AuthScope;
|
import org.apache.http.auth.AuthScope;
|
||||||
import org.apache.http.auth.UsernamePasswordCredentials;
|
import org.apache.http.auth.UsernamePasswordCredentials;
|
||||||
import org.apache.http.client.methods.HttpGet;
|
import org.apache.http.client.methods.HttpGet;
|
||||||
import org.apache.http.conn.HttpRoute;
|
|
||||||
import org.apache.http.conn.params.ConnRoutePNames;
|
import org.apache.http.conn.params.ConnRoutePNames;
|
||||||
import org.apache.http.impl.client.DefaultHttpClient;
|
import org.apache.http.impl.client.DefaultHttpClient;
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ public class RequestAddCookies implements HttpRequestInterceptor {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Generate Cookie request headers
|
// Generate Cookie request headers
|
||||||
if (cookies.length > 0) {
|
if (!matchedCookies.isEmpty()) {
|
||||||
List<Header> headers = cookieSpec.formatCookies(matchedCookies);
|
List<Header> headers = cookieSpec.formatCookies(matchedCookies);
|
||||||
for (int i = 0; i < headers.size(); i++) {
|
for (int i = 0; i < headers.size(); i++) {
|
||||||
request.addHeader(headers.get(i));
|
request.addHeader(headers.get(i));
|
||||||
|
|
|
@ -32,7 +32,6 @@
|
||||||
package org.apache.http.impl.client;
|
package org.apache.http.impl.client;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -833,7 +832,6 @@ public class DefaultClientRequestDirector
|
||||||
HttpRoute route = roureq.getRoute();
|
HttpRoute route = roureq.getRoute();
|
||||||
HttpHost target = route.getTargetHost();
|
HttpHost target = route.getTargetHost();
|
||||||
HttpHost proxy = route.getProxyHost();
|
HttpHost proxy = route.getProxyHost();
|
||||||
InetAddress localAddress = route.getLocalAddress();
|
|
||||||
|
|
||||||
HttpParams params = request.getParams();
|
HttpParams params = request.getParams();
|
||||||
if (HttpClientParams.isRedirecting(params) &&
|
if (HttpClientParams.isRedirecting(params) &&
|
||||||
|
@ -852,24 +850,15 @@ public class DefaultClientRequestDirector
|
||||||
uri.getPort(),
|
uri.getPort(),
|
||||||
uri.getScheme());
|
uri.getScheme());
|
||||||
|
|
||||||
Scheme schm = connManager.getSchemeRegistry().
|
|
||||||
getScheme(newTarget.getSchemeName());
|
|
||||||
|
|
||||||
HttpRoute newRoute = new HttpRoute(
|
|
||||||
newTarget,
|
|
||||||
localAddress,
|
|
||||||
proxy,
|
|
||||||
schm.isLayered(),
|
|
||||||
(proxy != null),
|
|
||||||
(proxy != null));
|
|
||||||
|
|
||||||
HttpGet redirect = new HttpGet(uri);
|
HttpGet redirect = new HttpGet(uri);
|
||||||
|
redirect.setParams(params);
|
||||||
|
RoutedRequest newRequest = determineRoute(newTarget, redirect, context);
|
||||||
|
|
||||||
if (LOG.isDebugEnabled()) {
|
if (LOG.isDebugEnabled()) {
|
||||||
LOG.debug("Redirecting to '" + uri + "' via " + newRoute);
|
LOG.debug("Redirecting to '" + uri + "' via " + newRequest.getRoute());
|
||||||
}
|
}
|
||||||
|
|
||||||
return new RoutedRequest.Impl(redirect, newRoute);
|
return newRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
CredentialsProvider credsProvider = (CredentialsProvider)
|
CredentialsProvider credsProvider = (CredentialsProvider)
|
||||||
|
|
|
@ -32,9 +32,6 @@
|
||||||
package org.apache.http.impl.client;
|
package org.apache.http.impl.client;
|
||||||
|
|
||||||
import org.apache.http.ConnectionReuseStrategy;
|
import org.apache.http.ConnectionReuseStrategy;
|
||||||
import org.apache.http.HttpException;
|
|
||||||
import org.apache.http.HttpHost;
|
|
||||||
import org.apache.http.HttpRequest;
|
|
||||||
import org.apache.http.HttpVersion;
|
import org.apache.http.HttpVersion;
|
||||||
import org.apache.http.auth.AuthSchemeRegistry;
|
import org.apache.http.auth.AuthSchemeRegistry;
|
||||||
import org.apache.http.client.AuthenticationHandler;
|
import org.apache.http.client.AuthenticationHandler;
|
||||||
|
@ -43,8 +40,8 @@ import org.apache.http.client.CredentialsProvider;
|
||||||
import org.apache.http.client.HttpRequestRetryHandler;
|
import org.apache.http.client.HttpRequestRetryHandler;
|
||||||
import org.apache.http.client.RedirectHandler;
|
import org.apache.http.client.RedirectHandler;
|
||||||
import org.apache.http.client.params.AuthPolicy;
|
import org.apache.http.client.params.AuthPolicy;
|
||||||
import org.apache.http.client.params.CookiePolicy;
|
|
||||||
import org.apache.http.client.params.ClientPNames;
|
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.ClientContext;
|
||||||
import org.apache.http.client.protocol.RequestAddCookies;
|
import org.apache.http.client.protocol.RequestAddCookies;
|
||||||
import org.apache.http.client.protocol.RequestDefaultHeaders;
|
import org.apache.http.client.protocol.RequestDefaultHeaders;
|
||||||
|
@ -53,7 +50,6 @@ import org.apache.http.client.protocol.RequestTargetAuthentication;
|
||||||
import org.apache.http.client.protocol.ResponseProcessCookies;
|
import org.apache.http.client.protocol.ResponseProcessCookies;
|
||||||
import org.apache.http.conn.ClientConnectionManager;
|
import org.apache.http.conn.ClientConnectionManager;
|
||||||
import org.apache.http.conn.ClientConnectionManagerFactory;
|
import org.apache.http.conn.ClientConnectionManagerFactory;
|
||||||
import org.apache.http.conn.HttpRoute;
|
|
||||||
import org.apache.http.conn.HttpRoutePlanner;
|
import org.apache.http.conn.HttpRoutePlanner;
|
||||||
import org.apache.http.conn.PlainSocketFactory;
|
import org.apache.http.conn.PlainSocketFactory;
|
||||||
import org.apache.http.conn.Scheme;
|
import org.apache.http.conn.Scheme;
|
||||||
|
|
Loading…
Reference in New Issue