HTTPCLIENT-852: Fixed bug causing automatically retried redirects fail with CircularRedirectException
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@780611 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7d39f392f6
commit
6681a1193d
|
@ -1,6 +1,10 @@
|
|||
Changes since 4.0 beta 2
|
||||
-------------------
|
||||
|
||||
* [HTTPCLIENT-852] Fixed bug causing automatically retried redirects fail with
|
||||
CircularRedirectException.
|
||||
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
||||
|
||||
* Fixed problem with the default HTTP response parser failing to handle garbage
|
||||
preceding a valid HTTP response.
|
||||
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
||||
|
|
|
@ -333,9 +333,9 @@ public class DefaultRequestDirector implements RequestDirector {
|
|||
int execCount = 0;
|
||||
|
||||
boolean reuse = false;
|
||||
HttpResponse response = null;
|
||||
boolean done = false;
|
||||
try {
|
||||
HttpResponse response = null;
|
||||
while (!done) {
|
||||
// In this loop, the RoutedRequest may be replaced by a
|
||||
// followup request and route. The request and route passed
|
||||
|
@ -344,6 +344,7 @@ public class DefaultRequestDirector implements RequestDirector {
|
|||
|
||||
RequestWrapper wrapper = roureq.getRequest();
|
||||
HttpRoute route = roureq.getRoute();
|
||||
response = null;
|
||||
|
||||
// See if we have a user token bound to the execution context
|
||||
Object userToken = context.getAttribute(ClientContext.USER_TOKEN);
|
||||
|
@ -471,7 +472,7 @@ public class DefaultRequestDirector implements RequestDirector {
|
|||
|
||||
// If we have a direct route to the target host
|
||||
// just re-open connection and re-try the request
|
||||
if (route.getHopCount() == 1) {
|
||||
if (!route.isTunnelled()) {
|
||||
this.log.debug("Reopening the direct connection.");
|
||||
managedConn.open(route, context, params);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue