1616
1717package io .minio ;
1818
19+ import io .minio .messages .CompleteMultipartUploadOutput ;
20+ import io .minio .messages .CopyObjectResult ;
1921import okhttp3 .Headers ;
2022
2123/** Response class of any APIs doing object creation. */
2224public class ObjectWriteResponse extends GenericResponse {
2325 private String etag ;
2426 private String versionId ;
27+ private String checksumCRC32 ;
28+ private String checksumCRC32C ;
29+ private String checksumSHA1 ;
30+ private String checksumSHA256 ;
2531
2632 public ObjectWriteResponse (
2733 Headers headers , String bucket , String region , String object , String etag , String versionId ) {
2834 super (headers , bucket , region , object );
2935 this .etag = etag ;
3036 this .versionId = versionId ;
37+ if (headers != null ) {
38+ this .checksumCRC32 = headers .get ("x-amz-checksum-crc32" );
39+ this .checksumCRC32C = headers .get ("x-amz-checksum-crc32c" );
40+ this .checksumSHA1 = headers .get ("x-amz-checksum-sha1" );
41+ this .checksumSHA256 = headers .get ("x-amz-checksum-sha256" );
42+ }
43+ }
44+
45+ public ObjectWriteResponse (
46+ Headers headers ,
47+ String bucket ,
48+ String region ,
49+ String object ,
50+ String etag ,
51+ String versionId ,
52+ CopyObjectResult result ) {
53+ super (headers , bucket , region , object );
54+ this .etag = etag ;
55+ this .versionId = versionId ;
56+ if (result != null ) {
57+ this .checksumCRC32 = result .checksumCRC32 ();
58+ this .checksumCRC32C = result .checksumCRC32C ();
59+ this .checksumSHA1 = result .checksumSHA1 ();
60+ this .checksumSHA256 = result .checksumSHA256 ();
61+ }
62+ }
63+
64+ public ObjectWriteResponse (
65+ Headers headers ,
66+ String bucket ,
67+ String region ,
68+ String object ,
69+ String etag ,
70+ String versionId ,
71+ CompleteMultipartUploadOutput result ) {
72+ super (headers , bucket , region , object );
73+ this .etag = etag ;
74+ this .versionId = versionId ;
75+ if (result != null ) {
76+ this .checksumCRC32 = result .checksumCRC32 ();
77+ this .checksumCRC32C = result .checksumCRC32C ();
78+ this .checksumSHA1 = result .checksumSHA1 ();
79+ this .checksumSHA256 = result .checksumSHA256 ();
80+ }
3181 }
3282
3383 public String etag () {
@@ -37,4 +87,20 @@ public String etag() {
3787 public String versionId () {
3888 return versionId ;
3989 }
90+
91+ public String checksumCRC32 () {
92+ return checksumCRC32 ;
93+ }
94+
95+ public String checksumCRC32C () {
96+ return checksumCRC32C ;
97+ }
98+
99+ public String checksumSHA1 () {
100+ return checksumSHA1 ;
101+ }
102+
103+ public String checksumSHA256 () {
104+ return checksumSHA256 ;
105+ }
40106}
0 commit comments