You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by na...@apache.org on 2017/12/07 08:01:07 UTC

jclouds git commit: [JCLOUDS-1363] - Fix case sensitivity of blobstore metadata

Repository: jclouds
Updated Branches:
  refs/heads/master 624367dfb -> 17cef5652


[JCLOUDS-1363] - Fix case sensitivity of blobstore metadata

HTTP headers are case insensitive by nature (see RFC 2616). When addUserMetadataTo check if this is indeed a user metadata header, it must properly ignore case.
The fix make sure that both metadataPrefix and the header key are compared with toLowerCase().

This solves issue with minio metadata read


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/17cef565
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/17cef565
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/17cef565

Branch: refs/heads/master
Commit: 17cef5652f69d46acdd88b69517043bf051212b1
Parents: 624367d
Author: Yuval Kashtan <yu...@model9.io>
Authored: Thu Nov 30 10:22:57 2017 +0200
Committer: Ignasi Barrera <na...@apache.org>
Committed: Thu Dec 7 08:52:50 2017 +0100

----------------------------------------------------------------------
 .../functions/ParseSystemAndUserMetadataFromHeaders.java         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/17cef565/blobstore/src/main/java/org/jclouds/blobstore/functions/ParseSystemAndUserMetadataFromHeaders.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/functions/ParseSystemAndUserMetadataFromHeaders.java b/blobstore/src/main/java/org/jclouds/blobstore/functions/ParseSystemAndUserMetadataFromHeaders.java
index e2012ff..cc2abb7 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/functions/ParseSystemAndUserMetadataFromHeaders.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/functions/ParseSystemAndUserMetadataFromHeaders.java
@@ -56,7 +56,7 @@ public class ParseSystemAndUserMetadataFromHeaders implements Function<HttpRespo
             @Named(PROPERTY_USER_METADATA_PREFIX) String metadataPrefix) {
       this.metadataFactory = checkNotNull(metadataFactory, "metadataFactory");
       this.dateParser = checkNotNull(dateParser, "dateParser");
-      this.metadataPrefix = checkNotNull(metadataPrefix, "metadataPrefix");
+      this.metadataPrefix = checkNotNull(metadataPrefix, "metadataPrefix").toLowerCase();
    }
 
    public MutableBlobMetadata apply(HttpResponse from) {
@@ -77,7 +77,7 @@ public class ParseSystemAndUserMetadataFromHeaders implements Function<HttpRespo
    @VisibleForTesting
    void addUserMetadataTo(HttpResponse from, MutableBlobMetadata metadata) {
       for (Entry<String, String> header : from.getHeaders().entries()) {
-         if (header.getKey() != null && header.getKey().startsWith(metadataPrefix))
+         if (header.getKey() != null && header.getKey().toLowerCase().startsWith(metadataPrefix))
             metadata.getUserMetadata().put((header.getKey().substring(metadataPrefix.length())).toLowerCase(),
                      header.getValue());
       }