[
https://jira.codehaus.org/browse/WAGON-419?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Olivier Lamy closed WAGON-419.
------------------------------
Resolution: Fixed
merged.
Thanks!
> HTTP wagons incorrectly encode blank space in URLs causing resources to be
> uploaded/looked up with a "+" sign
> -------------------------------------------------------------------------------------------------------------
>
> Key: WAGON-419
> URL: https://jira.codehaus.org/browse/WAGON-419
> Project: Maven Wagon
> Issue Type: Bug
> Components: wagon-http, wagon-http-lightweight, wagon-webdav
> Affects Versions: 1.0, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6
> Environment: Apache Maven 3.1.1
> (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 11:22:22-0400)
> Maven home: /usr/local/Cellar/maven/3.1.1/libexec
> Java version: 1.7.0_51, vendor: Oracle Corporation
> Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre
> Default locale: en_US, platform encoding: US-ASCII
> OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"
> Reporter: Roberto Andrade
> Assignee: Olivier Lamy
> Priority: Minor
> Fix For: 2.7
>
>
> The wagons all use
> [{{java.net.URLEncoder.encode}}|http://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html]
> to encode the path components of the URL which uses
> {{application/x-www-form-urlencoded}} format instead of the more generic one
> defined by RFC2396. As documented by the
> [java.net.URL|http://docs.oracle.com/javase/7/docs/api/java/net/URL.html]
> class, this should only be used for HTML/form encoding and not generic URL
> encoding:
> {quote}
> The URLEncoder and URLDecoder classes can also be used, but only for HTML
> form encoding, which is not the same as the encoding scheme defined in
> RFC2396.
> {quote}
> The use of such encoder affects URLs with spaces (i.e.: on the resource path)
> by encoding it to {{+}} instead of the traditional {{%20}} which would
> ultimately result in an actual space being stored on the server when
> receiving a {{PUT}} request. Additionally, the
> {{application/x-www-form-urlencoded}} format should only be used if the HTTP
> request itself has that as a {{Content-Type}} header value, which in the
> majority of the cases here is not the case (the HTTP client will either be
> sending up the correctly translated MIME type, a generic
> {{application/octet-stream}} or some other form of encoding - i.e.: base64,
> but the URL encoding is completely independent of that).
> This is probably a known issue given there are {{TODO}} comments on the code
> for every one of the wagons.
> I'm submitting a PR on Github with a proposed fix for them all.
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)