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 Miguel González Aravena
parent 033f6d8cd4
commit f467d964a7
1 changed files with 24 additions and 0 deletions

View File

@ -166,6 +166,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) {