[ 
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

        

Reply via email to