Teresa Tang created HTTPCLIENT-2333:
---------------------------------------
Summary: A request retry upon redirect is incorrectly flagged as a
circular redirect
Key: HTTPCLIENT-2333
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2333
Project: HttpComponents HttpClient
Issue Type: Bug
Affects Versions: 5.3.1
Reporter: Teresa Tang
Attachments: NullHandler.java, TestRedirects.java
When a request is redirected and then needs to be retried, the retry is treated
as a circular redirect. If circular redirects are not allowed, an error is
thrown:
{code:java}
org.apache.hc.client5.http.ClientProtocolException: Circular redirect to
'http://localhost:35731/random/50' at
org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:173)
at
org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:245)
at
org.apache.hc.client5.testing.sync.TestRedirects.testRetryUponRedirect(TestRedirects.java:241)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: org.apache.hc.client5.http.CircularRedirectException: Circular
redirect to 'http://localhost:35731/random/50'
at
org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:144)
at
org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
at
org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)
... 6 more{code}
Please see testRetryUponRedirect in TestRedirects.java for an example.
NullHandler.java will return a bad response only for the first redirected
request (files attached)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]