cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CXF-6765) UrlUtils#urlDecode incorrectly decodes encoded path with encoded plus = %2B symbol
Date Tue, 02 Feb 2016 10:14:39 GMT

    [ https://issues.apache.org/jira/browse/CXF-6765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15128012#comment-15128012
] 

Sergey Beryozkin edited comment on CXF-6765 at 2/2/16 10:14 AM:
----------------------------------------------------------------

The reason plus is replaced by %2B first in case of a path component is that I recall one
of JAX-RS spec authors confirming that in order to pass plus in a path one does not have to
encode it into %2B, i.e, one can actually pass plus as is, I believe it is not listed as a
special delimiter for a path component.  So if we have such a producer who means plus is plus
then we can not replace with a space. 

Plus can be used as a space representation in the components whose values can be form encoded,
which is a query; or a form body payload...

IMHO you should have either '%20plus%20' or '%20%2B%20' 

Note using 'plus' here as using it literally leads to some funny formatting results


was (Author: sergey_beryozkin):
The reason '+' is replaced by %2B first in case of a path component is that I recall one of
JAX-RS spec authors confirming that in order to pass '+' in a path one does not have to encode
it into %2B, i.e, one can actually pass '+' as is, I believe it is not listed as a special
delimiter for a path component.  So if we have such a producer who means '+' is '+' then we
can not replace with a space. 

'+' can be used as a space representation in the components whose values can be form encoded,
which is a query; or a form body payload...

IMHO you should have either '%20+%20' or '%20%2B%20' 

> UrlUtils#urlDecode incorrectly decodes encoded path with encoded plus = %2B symbol
> ----------------------------------------------------------------------------------
>
>                 Key: CXF-6765
>                 URL: https://issues.apache.org/jira/browse/CXF-6765
>             Project: CXF
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.1.4
>         Environment: WIndows 7, Java 8
>            Reporter: Karsten Ohme
>
> I'm decoding some matrix parameters. When using a path with an encoded + (= %2B encoded),
e.g. filterValue=Foobar+%2B+Bar which should be "Foobar + Bar", but it is "Foobar  Bar", because
the %2B is decoded as plus first and later decoded as a space.
> The error is produced in org.apache.cxf.common.util.UrlUtils#urlDecode(java.lang.String,
java.lang.String, boolean).



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

Mime
View raw message