Skip to content

Commit 7bf259c

Browse files
author
Anirav Kareddy
committed
cleaned up ContentMetadataEncodingStrategy class
1 parent 9e25d8f commit 7bf259c

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/main/java/software/amazon/encryption/s3/internal/ContentMetadataEncodingStrategy.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import software.amazon.awssdk.protocols.jsoncore.JsonWriter;
44
import software.amazon.awssdk.services.s3.model.CreateMultipartUploadRequest;
55
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
6+
import software.amazon.awssdk.services.s3.model.S3Request;
67
import software.amazon.encryption.s3.S3EncryptionClientException;
78
import software.amazon.encryption.s3.materials.EncryptedDataKey;
89
import software.amazon.encryption.s3.materials.EncryptionMaterials;
@@ -36,12 +37,19 @@ public PutObjectRequest encodeMetadata(EncryptionMaterials materials, byte[] iv,
3637
}
3738

3839
public CreateMultipartUploadRequest encodeMetadata(EncryptionMaterials materials, byte[] iv, CreateMultipartUploadRequest createMultipartUploadRequest) {
39-
Map<String, String> newMetadata = addMetadataToMap(createMultipartUploadRequest.metadata(), materials, iv);
40-
return createMultipartUploadRequest.toBuilder()
41-
.metadata(newMetadata)
42-
.build();
40+
if(_instructionFileConfig.isInstructionFilePutEnabled()) {
41+
final String metadataString = metadataToString(materials, iv);
42+
PutObjectRequest putObjectRequest = ConvertSDKRequests.convertRequest(createMultipartUploadRequest);
43+
_instructionFileConfig.putInstructionFile(putObjectRequest, metadataString);
44+
// the original request object is returned as-is
45+
return createMultipartUploadRequest;
46+
} else {
47+
Map<String, String> newMetadata = addMetadataToMap(createMultipartUploadRequest.metadata(), materials, iv);
48+
return createMultipartUploadRequest.toBuilder()
49+
.metadata(newMetadata)
50+
.build();
51+
}
4352
}
44-
4553
private String metadataToString(EncryptionMaterials materials, byte[] iv) {
4654
// this is just the metadata map serialized as JSON
4755
// so first get the Map

0 commit comments

Comments
 (0)