[ 
https://issues.apache.org/jira/browse/CXF-6606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colm O hEigeartaigh closed CXF-6606.
------------------------------------

> Encoded characters in URI are decoded multiple times during preprocess
> ----------------------------------------------------------------------
>
>                 Key: CXF-6606
>                 URL: https://issues.apache.org/jira/browse/CXF-6606
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.1.2
>            Reporter: Tyler Brazier
>            Assignee: Sergey Beryozkin
>             Fix For: 3.1.3, 2.7.18, 3.0.7
>
>
> When given a url like {{/api/%255E/users.json}}, 
> {{RequestPreprocessor#preprocess}} first does {{handleExtensionMappings}}, 
> which creates a {{PathSegmentImpl}} with a single arg constructor, decoding 
> the path. The path on {{Message}} is set to the decoded path with a call to 
> {{updatePath}} if the {{.json}} extension was found within the extension 
> mappings. Back in {{RequestPreprocessor#preprocess}}, the path returned will 
> be decoded again within the call to {{UriInfoImpl#getPath}}.
> This causes the {{%255E}} in the path to be decoded the first time as 
> {{%5E}}, then the second time as {{^}}.
> I believe this could be fixed by constructing {{PathSegment}} within 
> {{handleLanguageMappings}} and {{handleExtensionMappings}} with a second 
> {{false}} argument.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to