public ObjectMetadata build() { MutableObjectMetadataImpl toReturn = new MutableObjectMetadataImpl(); toReturn.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(contentMetadataBuilder.build())); toReturn.setCacheControl(cacheControl); toReturn.setKey(key); toReturn.setBucket(bucket); toReturn.setUri(uri); toReturn.setETag(eTag); toReturn.setOwner(owner); toReturn.setStorageClass(storageClass); toReturn.setUserMetadata(userMetadata); toReturn.setLastModified(lastModified); return toReturn; }
/** *{@inheritDoc} */ @Override public int compareTo(ObjectMetadata o) { return (this == o) ? 0 : getKey().compareTo(o.getKey()); }
@Test void testMultipartDoesntAttemptToParseETagIntoMD5() throws Exception { HttpResponse http = HttpResponse.builder().statusCode(400).message("boa").payload("") .addHeader(S3Headers.USER_METADATA_PREFIX + "foo", "bar") .addHeader(HttpHeaders.LAST_MODIFIED, lastModified) .addHeader(HttpHeaders.ETAG, "\"abcd-1\"") .addHeader(HttpHeaders.CACHE_CONTROL, "cacheControl").build(); http.getPayload().getContentMetadata().setContentLength(1025l); http.getPayload().getContentMetadata().setContentDisposition("contentDisposition"); http.getPayload().getContentMetadata().setContentEncoding("encoding"); http.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); MutableObjectMetadata response = parser.apply(http); MutableObjectMetadataImpl expects = new MutableObjectMetadataImpl(); expects.setCacheControl("cacheControl"); expects.getContentMetadata().setContentDisposition("contentDisposition"); expects.getContentMetadata().setContentEncoding("encoding"); expects.getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); expects.getContentMetadata().setContentLength(1025l); expects.setETag("\"abcd-1\""); expects.setKey("key"); expects.setLastModified(now); expects.setOwner(null); expects.setStorageClass(StorageClass.STANDARD); expects.setUserMetadata(userMetadata); assertEquals(response, expects); }
public MutableObjectMetadata apply(BlobMetadata from) { if (from == null) return null; MutableObjectMetadata to = new MutableObjectMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setETag(from.getETag()); to.setKey(from.getName()); to.setBucket(bucket); to.setLastModified(from.getLastModified()); if (from.getUserMetadata() != null) { for (Entry<String, String> entry : from.getUserMetadata().entrySet()) to.getUserMetadata().put(entry.getKey().toLowerCase(), entry.getValue()); } return to; }
@Test void testNormalParsesETagIntoMD5AndMetadataHeaders() throws Exception { HttpResponse http = HttpResponse.builder().statusCode(400).message("boa").payload("") .addHeader(S3Headers.USER_METADATA_PREFIX + "foo", "bar") .addHeader(HttpHeaders.LAST_MODIFIED, lastModified) .addHeader(HttpHeaders.ETAG, "\"abcd\"") .addHeader(HttpHeaders.CACHE_CONTROL, "cacheControl").build(); http.getPayload().getContentMetadata().setContentLength(1025l); http.getPayload().getContentMetadata().setContentDisposition("contentDisposition"); http.getPayload().getContentMetadata().setContentEncoding("encoding"); http.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); MutableObjectMetadata response = parser.apply(http); MutableObjectMetadataImpl expects = new MutableObjectMetadataImpl(); expects.setCacheControl("cacheControl"); expects.getContentMetadata().setContentDisposition("contentDisposition"); expects.getContentMetadata().setContentEncoding("encoding"); expects.getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); expects.getContentMetadata().setContentLength(1025l); expects.getContentMetadata().setContentMD5(base16().lowerCase().decode("abcd")); expects.setETag("\"abcd\""); expects.setKey("key"); expects.setLastModified(now); expects.setOwner(null); expects.setStorageClass(StorageClass.STANDARD); expects.setUserMetadata(userMetadata); assertEquals(response, expects); }
public MutableObjectMetadata apply(BlobMetadata from) { if (from == null) return null; MutableObjectMetadata to = new MutableObjectMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setETag(from.getETag()); to.setKey(from.getName()); to.setBucket(bucket); to.setLastModified(from.getLastModified()); if (from.getUserMetadata() != null) { for (Entry<String, String> entry : from.getUserMetadata().entrySet()) to.getUserMetadata().put(entry.getKey().toLowerCase(), entry.getValue()); } return to; }
public ObjectMetadata build() { MutableObjectMetadataImpl toReturn = new MutableObjectMetadataImpl(); toReturn.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(contentMetadataBuilder.build())); toReturn.setKey(key); toReturn.setBucket(bucket); toReturn.setUri(uri); toReturn.setETag(eTag); toReturn.setOwner(owner); toReturn.setStorageClass(storageClass); toReturn.setUserMetadata(userMetadata); toReturn.setLastModified(lastModified); return toReturn; }
@Test void testAmzEtagStillParsesToMD5AndDoesntMistakeAmzEtagForUserMetadata() throws Exception { HttpResponse http = HttpResponse.builder().statusCode(400).message("boa").payload("") .addHeader(S3Headers.USER_METADATA_PREFIX + "foo", "bar") .addHeader(HttpHeaders.LAST_MODIFIED, lastModified) .addHeader(S3Headers.AMZ_ETAG, "\"abcd\"") .addHeader(HttpHeaders.CACHE_CONTROL, "cacheControl").build(); http.getPayload().getContentMetadata().setContentLength(1025l); http.getPayload().getContentMetadata().setContentDisposition("contentDisposition"); http.getPayload().getContentMetadata().setContentEncoding("encoding"); http.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); MutableObjectMetadata response = parser.apply(http); MutableObjectMetadataImpl expects = new MutableObjectMetadataImpl(); expects.setCacheControl("cacheControl"); expects.getContentMetadata().setContentDisposition("contentDisposition"); expects.getContentMetadata().setContentEncoding("encoding"); expects.getContentMetadata().setContentMD5(base16().lowerCase().decode("abcd")); expects.getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); expects.getContentMetadata().setContentLength(1025l); expects.setETag("\"abcd\""); expects.setKey("key"); expects.setLastModified(now); expects.setOwner(null); expects.setStorageClass(StorageClass.STANDARD); expects.setUserMetadata(userMetadata); assertEquals(response, expects); }
public MutableObjectMetadata apply(BlobMetadata from) { if (from == null) return null; MutableObjectMetadata to = new MutableObjectMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setETag(from.getETag()); to.setKey(from.getName()); to.setBucket(bucket); to.setLastModified(from.getLastModified()); if (from.getUserMetadata() != null) { for (Entry<String, String> entry : from.getUserMetadata().entrySet()) to.getUserMetadata().put(entry.getKey().toLowerCase(), entry.getValue()); } return to; }
/** *{@inheritDoc} */ @Override public int compareTo(ObjectMetadata o) { return (this == o) ? 0 : getKey().compareTo(o.getKey()); }
public ObjectMetadata build() { MutableObjectMetadataImpl toReturn = new MutableObjectMetadataImpl(); toReturn.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(contentMetadataBuilder.build())); toReturn.setCacheControl(cacheControl); toReturn.setKey(key); toReturn.setBucket(bucket); toReturn.setUri(uri); toReturn.setETag(eTag); toReturn.setOwner(owner); toReturn.setStorageClass(storageClass); toReturn.setUserMetadata(userMetadata); toReturn.setLastModified(lastModified); return toReturn; }
@Test void testNormalParsesETagIntoMD5AndMetadataHeaders() throws Exception { HttpResponse http = HttpResponse.builder().statusCode(400).message("boa").payload("") .addHeader(S3Headers.USER_METADATA_PREFIX + "foo", "bar") .addHeader(HttpHeaders.LAST_MODIFIED, lastModified) .addHeader(HttpHeaders.ETAG, "\"00000000000000000000000000000000\"") .addHeader(HttpHeaders.CACHE_CONTROL, "cacheControl").build(); http.getPayload().getContentMetadata().setContentLength(1025L); http.getPayload().getContentMetadata().setContentDisposition("contentDisposition"); http.getPayload().getContentMetadata().setContentEncoding("encoding"); http.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); MutableObjectMetadata response = parser.apply(http); HashCode hashCode = HashCode.fromBytes(new byte[16]); MutableObjectMetadataImpl expects = new MutableObjectMetadataImpl(); expects.setCacheControl("cacheControl"); expects.getContentMetadata().setContentDisposition("contentDisposition"); expects.getContentMetadata().setContentEncoding("encoding"); expects.getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); expects.getContentMetadata().setContentLength(1025L); expects.getContentMetadata().setContentMD5(hashCode); expects.setETag("\"abcd\""); expects.setKey("key"); expects.setLastModified(now); expects.setOwner(null); expects.setStorageClass(StorageClass.STANDARD); expects.setUserMetadata(userMetadata); assertEquals(response, expects); }
public MutableObjectMetadata apply(BlobMetadata from) { if (from == null) return null; MutableObjectMetadata to = new MutableObjectMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setETag(from.getETag()); to.setKey(from.getName()); to.setBucket(bucket); to.setLastModified(from.getLastModified()); if (from.getUserMetadata() != null) { for (Entry<String, String> entry : from.getUserMetadata().entrySet()) to.getUserMetadata().put(entry.getKey().toLowerCase(), entry.getValue()); } if (from.getTier() != null) { to.setStorageClass(StorageClass.fromTier(from.getTier())); } return to; }
/** *{@inheritDoc} */ @Override public int compareTo(ObjectMetadata o) { return (this == o) ? 0 : getKey().compareTo(o.getKey()); }
public ObjectMetadata build() { MutableObjectMetadataImpl toReturn = new MutableObjectMetadataImpl(); toReturn.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(contentMetadataBuilder.build())); toReturn.setKey(key); toReturn.setBucket(bucket); toReturn.setUri(uri); toReturn.setETag(eTag); toReturn.setOwner(owner); toReturn.setStorageClass(storageClass); toReturn.setUserMetadata(userMetadata); toReturn.setLastModified(lastModified); return toReturn; }
@Test void testMultipartDoesntAttemptToParseETagIntoMD5() throws Exception { HttpResponse http = HttpResponse.builder().statusCode(400).message("boa").payload("") .addHeader(S3Headers.USER_METADATA_PREFIX + "foo", "bar") .addHeader(HttpHeaders.LAST_MODIFIED, lastModified) .addHeader(HttpHeaders.ETAG, "\"abcd-1\"") .addHeader(HttpHeaders.CACHE_CONTROL, "cacheControl").build(); http.getPayload().getContentMetadata().setContentLength(1025L); http.getPayload().getContentMetadata().setContentDisposition("contentDisposition"); http.getPayload().getContentMetadata().setContentEncoding("encoding"); http.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); MutableObjectMetadata response = parser.apply(http); MutableObjectMetadataImpl expects = new MutableObjectMetadataImpl(); expects.setCacheControl("cacheControl"); expects.getContentMetadata().setContentDisposition("contentDisposition"); expects.getContentMetadata().setContentEncoding("encoding"); expects.getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); expects.getContentMetadata().setContentLength(1025L); expects.setETag("\"abcd-1\""); expects.setKey("key"); expects.setLastModified(now); expects.setOwner(null); expects.setStorageClass(StorageClass.STANDARD); expects.setUserMetadata(userMetadata); assertEquals(response, expects); }
public MutableObjectMetadata apply(BlobMetadata from) { if (from == null) return null; MutableObjectMetadata to = new MutableObjectMetadataImpl(); HttpUtils.copy(from.getContentMetadata(), to.getContentMetadata()); to.setUri(from.getUri()); to.setETag(from.getETag()); to.setKey(from.getName()); to.setBucket(bucket); to.setLastModified(from.getLastModified()); if (from.getUserMetadata() != null) { for (Entry<String, String> entry : from.getUserMetadata().entrySet()) to.getUserMetadata().put(entry.getKey().toLowerCase(), entry.getValue()); } if (from.getTier() != null) { to.setStorageClass(StorageClass.fromTier(from.getTier())); } return to; }
/** *{@inheritDoc} */ @Override public int compareTo(ObjectMetadata o) { return (this == o) ? 0 : getKey().compareTo(o.getKey()); }
public ObjectMetadata build() { MutableObjectMetadataImpl toReturn = new MutableObjectMetadataImpl(); toReturn.setContentMetadata(BaseMutableContentMetadata.fromContentMetadata(contentMetadataBuilder.build())); toReturn.setKey(key); toReturn.setBucket(bucket); toReturn.setUri(uri); toReturn.setETag(eTag); toReturn.setOwner(owner); toReturn.setStorageClass(storageClass); toReturn.setUserMetadata(userMetadata); toReturn.setLastModified(lastModified); return toReturn; }
@Test void testAmzEtagStillParsesToMD5AndDoesntMistakeAmzEtagForUserMetadata() throws Exception { HttpResponse http = HttpResponse.builder().statusCode(400).message("boa").payload("") .addHeader(S3Headers.USER_METADATA_PREFIX + "foo", "bar") .addHeader(HttpHeaders.LAST_MODIFIED, lastModified) .addHeader(S3Headers.AMZ_ETAG, "\"00000000000000000000000000000000\"") .addHeader(HttpHeaders.CACHE_CONTROL, "cacheControl").build(); http.getPayload().getContentMetadata().setContentLength(1025L); http.getPayload().getContentMetadata().setContentDisposition("contentDisposition"); http.getPayload().getContentMetadata().setContentEncoding("encoding"); http.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); MutableObjectMetadata response = parser.apply(http); HashCode hashCode = HashCode.fromBytes(new byte[16]); MutableObjectMetadataImpl expects = new MutableObjectMetadataImpl(); expects.setCacheControl("cacheControl"); expects.getContentMetadata().setContentDisposition("contentDisposition"); expects.getContentMetadata().setContentEncoding("encoding"); expects.getContentMetadata().setContentMD5(hashCode); expects.getContentMetadata().setContentType(MediaType.APPLICATION_OCTET_STREAM); expects.getContentMetadata().setContentLength(1025L); expects.setETag("\"abcd\""); expects.setKey("key"); expects.setLastModified(now); expects.setOwner(null); expects.setStorageClass(StorageClass.STANDARD); expects.setUserMetadata(userMetadata); assertEquals(response, expects); }