RFR JDK-8037396: URI getQuery() and getFragment() don't decode properly
Michael McMahon
michael.x.mcmahon at oracle.com
Fri Apr 4 15:06:19 UTC 2014
In my view, it's the current behavior that is surprising. You would
really expect
those methods to return the un-encoded strings. It's odd we haven't come
across
this issue before now, which probably indicates use of '[]' in those
components
is uncommon.
Michael
On 04/04/14 16:01, Chris Hegarty wrote:
> Pavel,
>
> The code changes and test update look good to me.
>
> I think I agree with the approach here, but just to clarify the change
> in behavior, that will be visible after the changes.
>
> $ cat Test.java
> public class Test {
> public static void main(String[] args) throws Exception {
> java.net.URI u = new java.net.URI("http", "example.org", "/a
> b[c d]", "a b[c d]", "a b[c d]");
> System.out.println("path:" + u.getPath());
> System.out.println("path:" + u.getQuery());
> System.out.println("path:" + u.getFragment());
> }
> }
>
> -- without fix --
> $ java Test
> path:/a b[c d]
> path:a b[c%20d]
> path:a b[c%20d]
>
> -- with fix ---
> $ java Test
> path:/a b[c d]
> path:a b[c d]
> path:a b[c d]
>
> So the question now is; Will this surprise anyone? possibly embedding
> URLs/URIs in query strings? I expect not, but just want to spell out
> the change in behavior so that we can make an informed decision.
>
> -Chris.
>
>
> On 04/04/14 15:45, Pavel Rappo wrote:
>> Hi everyone,
>>
>> could you please review my change for JDK-8037396:
>> http://cr.openjdk.java.net/~michaelm/8037396/webrev/
>>
>> As per API, getQuery() and getFragment() should return the decoded
>> string. But this seems not to work properly if there are squared
>> brackets around them.
>>
>> The result of analysis can be seen here:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8037396?focusedCommentId=13479678&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13479678
>>
>>
>> I think we should go the least intrusive way here (excluding 'do
>> nothing' option).
>>
>> Thanks
>> -Pavel
>>
More information about the net-dev
mailing list