[
https://issues.apache.org/jira/browse/JCLOUDS-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17898368#comment-17898368
]
Matthew Bellew commented on JCLOUDS-1640:
-----------------------------------------
It looks like this particular usage was fixed in JCLOUDS-1631
However, as searh of the code shows many more usages where getQuery() is passed
directly to QueryParser.apply()
queryParser\(\).apply\(.*getQuery\(\)\)
> RequestAuthorizeSignatureV2 throws on folder with % in name
> -----------------------------------------------------------
>
> Key: JCLOUDS-1640
> URL: https://issues.apache.org/jira/browse/JCLOUDS-1640
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-blobstore
> Affects Versions: 2.6.0
> Reporter: Matthew Bellew
> Assignee: Andrew Gaul
> Priority: Major
> Labels: s3
>
> If I create a "folder" (or blob with a '%' in the folder part of its name).
> S3BlobStore.list() will throw IllegalArgumentException( "URLDecoder:
> Incomplete trailing escape (%) pattern")
>
> The problem seems to be with this line of code in
> RequestAutorizeSignatureV2.java:
> Multimap<String, String> params =
> queryParser().apply(request.getEndpoint().getQuery());
>
> queryParser().apply() expects and encoded query string and will decode the
> string itself. I believe getQuery() should be replaced with getRawQuery().
--
This message was sent by Atlassian Jira
(v8.20.10#820010)