/** * ETag == Content-MD5 */ @VisibleForTesting protected void addETagTo(HttpResponse from, MutableObjectMetadata metadata) { if (metadata.getETag() == null) { String eTagHeader = from.getFirstHeaderOrNull(userMdPrefix + "object-eTag"); if (eTagHeader != null) { metadata.setETag(eTagHeader); } } }
/** * ETag == Content-MD5 */ @VisibleForTesting protected void addETagTo(HttpResponse from, MutableObjectMetadata metadata) { if (metadata.getETag() == null) { String eTagHeader = from.getFirstHeaderOrNull(userMdPrefix + "object-eTag"); if (eTagHeader != null) { metadata.setETag(eTagHeader); } } }
/** * ETag == Content-MD5 */ @VisibleForTesting protected void addETagTo(HttpResponse from, MutableObjectMetadata metadata) { if (metadata.getETag() == null) { String eTagHeader = from.getFirstHeaderOrNull(userMdPrefix + "object-eTag"); if (eTagHeader != null) { metadata.setETag(eTagHeader); } } }
/** * ETag == Content-MD5 */ @VisibleForTesting protected void addETagTo(HttpResponse from, MutableObjectMetadata metadata) { if (metadata.getETag() == null) { String eTagHeader = from.getFirstHeaderOrNull(userMdPrefix + "object-eTag"); if (eTagHeader != null) { metadata.setETag(eTagHeader); } } }
/** * ETag == Content-MD5 */ @VisibleForTesting protected void addETagTo(HttpResponse from, MutableObjectMetadata metadata) { if (metadata.getETag() == null) { String eTagHeader = from.getFirstHeaderOrNull(userMdPrefix + "object-eTag"); if (eTagHeader != null) { metadata.setETag(eTagHeader); } } }
/** parses the http response headers to create a new {@link MutableObjectMetadata} object. */ public MutableObjectMetadata apply(HttpResponse from) { BlobMetadata base = blobMetadataParser.apply(from); MutableObjectMetadata to = blobToObjectMetadata.apply(base); addETagTo(from, to); if (to.getContentMetadata().getContentMD5() == null && to.getETag() != null) { Matcher md5Matcher = MD5_FROM_ETAG.matcher(to.getETag()); if (md5Matcher.find()) { byte[] md5 = base16().lowerCase().decode(md5Matcher.group(1)); // it is possible others will look at the http payload directly if (from.getPayload() != null) from.getPayload().getContentMetadata().setContentMD5(md5); to.getContentMetadata().setContentMD5(md5); } } // amz has an etag, but matches syntax for usermetadata to.getUserMetadata().remove("object-etag"); to.setCacheControl(from.getFirstHeaderOrNull(HttpHeaders.CACHE_CONTROL)); return to; }
/** * parses the http response headers to create a new * {@link org.jclouds.s3.domain.internal.MutableObjectMetadata} object. */ public MutableObjectMetadata apply(HttpResponse from) { BlobMetadata base = blobMetadataParser.apply(from); MutableObjectMetadata to = blobToObjectMetadata.apply(base); addETagTo(from, to); if (to.getContentMetadata().getContentMD5() == null && to.getETag() != null) { Matcher md5Matcher = MD5_FROM_ETAG.matcher(to.getETag()); if (md5Matcher.find()) { byte[] md5 = base16().lowerCase().decode(md5Matcher.group(1)); // it is possible others will look at the http payload directly if (from.getPayload() != null) from.getPayload().getContentMetadata().setContentMD5(md5); to.getContentMetadata().setContentMD5(md5); } } // amz has an etag, but matches syntax for usermetadata to.getUserMetadata().remove("object-etag"); to.setCacheControl(from.getFirstHeaderOrNull(HttpHeaders.CACHE_CONTROL)); return to; }
/** * parses the http response headers to create a new * {@link org.jclouds.s3.domain.internal.MutableObjectMetadata} object. */ public MutableObjectMetadata apply(HttpResponse from) { BlobMetadata base = blobMetadataParser.apply(from); MutableObjectMetadata to = blobToObjectMetadata.apply(base); addETagTo(from, to); if (to.getContentMetadata().getContentMD5() == null && to.getETag() != null) { Matcher md5Matcher = MD5_FROM_ETAG.matcher(to.getETag()); if (md5Matcher.find()) { byte[] md5 = base16().lowerCase().decode(md5Matcher.group(1)); // it is possible others will look at the http payload directly if (from.getPayload() != null) from.getPayload().getContentMetadata().setContentMD5(md5); to.getContentMetadata().setContentMD5(md5); } } // amz has an etag, but matches syntax for usermetadata to.getUserMetadata().remove("object-etag"); to.setCacheControl(from.getFirstHeaderOrNull(HttpHeaders.CACHE_CONTROL)); return to; }
/** parses the http response headers to create a new {@link MutableObjectMetadata} object. */ public MutableObjectMetadata apply(HttpResponse from) { BlobMetadata base = blobMetadataParser.apply(from); MutableObjectMetadata to = blobToObjectMetadata.apply(base); addETagTo(from, to); if (to.getContentMetadata().getContentMD5() == null && to.getETag() != null) { Matcher md5Matcher = MD5_FROM_ETAG.matcher(to.getETag()); if (md5Matcher.find()) { byte[] md5 = base16().lowerCase().decode(md5Matcher.group(1)); // it is possible others will look at the http payload directly if (from.getPayload() != null) from.getPayload().getContentMetadata().setContentMD5(md5); to.getContentMetadata().setContentMD5(md5); } } // amz has an etag, but matches syntax for usermetadata to.getUserMetadata().remove("object-etag"); to.setCacheControl(from.getFirstHeaderOrNull(HttpHeaders.CACHE_CONTROL)); String storageClass = from.getFirstHeaderOrNull("x-amz-storage-class"); if (storageClass != null) { to.setStorageClass(StorageClass.valueOf(storageClass)); } return to; }
/** parses the http response headers to create a new {@link MutableObjectMetadata} object. */ public MutableObjectMetadata apply(HttpResponse from) { BlobMetadata base = blobMetadataParser.apply(from); MutableObjectMetadata to = blobToObjectMetadata.apply(base); addETagTo(from, to); if (to.getContentMetadata().getContentMD5() == null && to.getETag() != null) { Matcher md5Matcher = MD5_FROM_ETAG.matcher(to.getETag()); if (md5Matcher.find()) { byte[] md5 = base16().lowerCase().decode(md5Matcher.group(1)); // it is possible others will look at the http payload directly if (from.getPayload() != null) from.getPayload().getContentMetadata().setContentMD5(md5); to.getContentMetadata().setContentMD5(md5); } } // amz has an etag, but matches syntax for usermetadata to.getUserMetadata().remove("object-etag"); to.setCacheControl(from.getFirstHeaderOrNull(HttpHeaders.CACHE_CONTROL)); String storageClass = from.getFirstHeaderOrNull("x-amz-storage-class"); if (storageClass != null) { to.setStorageClass(StorageClass.valueOf(storageClass)); } return to; }