[
https://issues.apache.org/jira/browse/HTTPCLIENT-1294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski updated HTTPCLIENT-1294:
------------------------------------------
Fix Version/s: 4.3 Final
I see two ways to fix the problem: (1) rewrite request URIs to make sure
hostname is low case (2) change internal representation of unique redirects
from a set of URIs to a set of Strings. At the moment I am not entirely sure
which approach is likely to cause fewer side effects. At any rate I do not
think this issue is severe enough to delay 4.2.3 and 4.3-alpha1 releases. It
will have to wait until 4.3-alpha2.
Oleg
> CircularRedirectException is falsely thrown on URI case mismatch
> ----------------------------------------------------------------
>
> Key: HTTPCLIENT-1294
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1294
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.1.3, 4.2.2
> Reporter: Michiel Proce
> Fix For: 4.3 Final
>
>
> Some servers (including IIS6) redirect wrong-cased request URIs to lower case:
> http://EXAMPLE.com/ -> http://example.com/
> Now when I'm redirected from another URI to an uppercase URI, the following
> redirects happen:
> http://referrer.com/ -> http://EXAMPLE.com/ -> http://example.com/
> When running this request with HttpClient (with default
> ALLOW_CIRCULAR_REDIRECTS: false), I get a
> org.apache.http.client.CircularRedirectException, even though a circular
> redirect won't occur.
> The problem lies in java.net.URI, the following URIs are considered equal:
> URI a = new URI("http://example.com");
> URI b = new URI("http://EXAMPLE.com");
> // a.equals(b): true
> // a.hashCode() == b.hashCode(): true
> The redirect locations are stored in a HashSet<URI> in
> org.apache.http.impl.client.RedirectLocations. A CircularRedirectException is
> thrown when an URI is already in this hashset.
> I have no real suggestions on how to fix this, because I am not known with
> the coding style for HttpClient..
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]