[
https://issues.apache.org/jira/browse/CXF-4200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13237256#comment-13237256
]
Sergey Beryozkin commented on CXF-4200:
---------------------------------------
Thanks for the patch. I ended up always passing 'false' to getPath() within the
getPathSegments(boolean decoded) otherwise we have another bug, namely x%2Fy is
treated as if it represents two PathSegments due to it containing the encoded
'/'. The actual 'decode' flag is passed to the PathSegment implementation.
> UriInfoImpl.getPathSegments(decode) does not pass 'decode' flag to getPath()
> ----------------------------------------------------------------------------
>
> Key: CXF-4200
> URL: https://issues.apache.org/jira/browse/CXF-4200
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.5.2, 2.6
> Reporter: Rob ten Hove
> Priority: Minor
> Attachments: cxf-4200-robth-getpathsegments-decode.patch
>
>
> The function 'UriInfoImpl.getPathSegments(boolean decode)' calls 'getPath()'
> internally. It should call 'getPath(decode)' instead.
> As an example, consider the following path: 'a/x%2fy/b' ('%2f' = '/').
> When calling 'UriInfoImpl.getPathSegments(true)', four path segments are
> returned: 'a', 'x', 'y', 'b'. However, when
> 'UriInfoImpl.getPathSegments(false)' is called, the result is the same.
> Instead, 'a', 'x%2fy', 'b' is expected.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira