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; }
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; }
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; }
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; }
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 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); }
@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); }
@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); }
@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); }
@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); }
@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); }