Repository: jclouds Updated Branches: refs/heads/2.1.x d47c776cf -> d464e8a37
JCLOUDS-1263: URL encode object names from list object response before creating URIs with them This fix calls urlEncode on the path before appending them to the existing path, as the core UriBuilder class expects them to be URL-encoded. Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/4288c9eb Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/4288c9eb Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/4288c9eb Branch: refs/heads/2.1.x Commit: 4288c9eb7f3d920eb24af8da006b8c32f1cff703 Parents: d47c776 Author: Mat Mannion <m.mann...@warwick.ac.uk> Authored: Mon Apr 3 14:49:22 2017 +0100 Committer: Andrew Gaul <g...@apache.org> Committed: Mon May 21 22:22:56 2018 -0700 ---------------------------------------------------------------------- .../swift/v1/functions/ParseObjectListFromResponse.java | 2 +- .../jclouds/openstack/swift/v1/features/ObjectApiMockTest.java | 4 ++-- apis/openstack-swift/src/test/resources/object_list.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/4288c9eb/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java ---------------------------------------------------------------------- diff --git a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java index a31fe85..38c9100 100644 --- a/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java +++ b/apis/openstack-swift/src/main/java/org/jclouds/openstack/swift/v1/functions/ParseObjectListFromResponse.java @@ -87,7 +87,7 @@ public class ParseObjectListFromResponse implements Function<HttpResponse, Objec public SwiftObject apply(InternalObject input) { if (input.subdir != null) { return SwiftObject.builder() - .uri(uriBuilder(containerUri).clearQuery().appendPath(input.subdir).build()) + .uri(uriBuilder(containerUri).clearQuery().appendPath(urlEncode(input.subdir)).build()) .name(input.subdir) .etag(SUBDIR_ETAG) .payload(payload(input.bytes, input.hash, "application/directory", input.expires)) http://git-wip-us.apache.org/repos/asf/jclouds/blob/4288c9eb/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java ---------------------------------------------------------------------- diff --git a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java index 7b6ae32..da0de45 100644 --- a/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java +++ b/apis/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java @@ -91,8 +91,8 @@ public class ObjectApiMockTest extends BaseOpenStackMockTest<SwiftApi> { .payload(payload(64L, "application/octet-stream", null)) .lastModified(dates.iso8601DateParse("2009-02-03T05:26:32.612278")).build(), SwiftObject.builder() - .name("test obj 3") - .uri(URI.create(baseUri + "/test%20obj%203")) + .name("test obj 3 %$.") + .uri(URI.create(baseUri + "/test%20obj%203%20%25%24.")) .etag("0b2e80bd0744d9ebb20484149a57c82e") .payload(payload(14, "application/octet-stream", new Date())) .lastModified(dates.iso8601DateParse("2014-05-20T05:26:32.612278")).build()); http://git-wip-us.apache.org/repos/asf/jclouds/blob/4288c9eb/apis/openstack-swift/src/test/resources/object_list.json ---------------------------------------------------------------------- diff --git a/apis/openstack-swift/src/test/resources/object_list.json b/apis/openstack-swift/src/test/resources/object_list.json index afe8c77..0deab8c 100644 --- a/apis/openstack-swift/src/test/resources/object_list.json +++ b/apis/openstack-swift/src/test/resources/object_list.json @@ -14,7 +14,7 @@ "last_modified": "2009-02-03T05:26:32.612278" }, { - "name": "test obj 3", + "name": "test obj 3 %$.", "hash": "0b2e80bd0744d9ebb20484149a57c82e", "bytes": 123, "content_type": "application/octet-stream",