[ 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