add AWS S3 options for server side encryption

Now, the AWS S3 options for server side encryptions are passed to the
upload handler. Thus, the client can specify the AWS options and use
AWS Server Side Encryption.
This commit is contained in:
Timo Wolf 2017-10-08 18:00:46 +02:00 committed by Timo Wolf
parent 91f6268c87
commit e1109e39dd
1 changed files with 24 additions and 0 deletions

View File

@ -141,6 +141,30 @@ exports.upload = function(provider, req, res, options, cb) {
uploadParams.acl = file.acl;
}
// add AWS specific options
// See http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property
if (options.StorageClass) {
uploadParams.StorageClass = options.StorageClass;
}
if (options.CacheControl) {
uploadParams.CacheControl = options.CacheControl;
}
if (options.ServerSideEncryption) {
uploadParams.ServerSideEncryption = options.ServerSideEncryption;
}
if (options.SSEKMSKeyId) {
uploadParams.SSEKMSKeyId = options.SSEKMSKeyId;
}
if (options.SSECustomerAlgorithm) {
uploadParams.SSECustomerAlgorithm = options.SSECustomerAlgorithm;
}
if (options.SSECustomerKey) {
uploadParams.SSECustomerKey = options.SSECustomerKey;
}
if (options.SSECustomerKeyMD5) {
uploadParams.SSECustomerKeyMD5 = options.SSECustomerKeyMD5;
}
var writer = provider.upload(uploadParams);
writer.on('error', function(err) {