putObjectAcl method
Future<PutObjectAclOutput>
putObjectAcl({
- required String bucket,
- required String key,
- ObjectCannedACL? acl,
- AccessControlPolicy? accessControlPolicy,
- ChecksumAlgorithm? checksumAlgorithm,
- String? contentMD5,
- String? expectedBucketOwner,
- String? grantFullControl,
- String? grantRead,
- String? grantReadACP,
- String? grantWrite,
- String? grantWriteACP,
- RequestPayer? requestPayer,
- String? versionId,
Implementation
Future<PutObjectAclOutput> putObjectAcl({
required String bucket,
required String key,
ObjectCannedACL? acl,
AccessControlPolicy? accessControlPolicy,
ChecksumAlgorithm? checksumAlgorithm,
String? contentMD5,
String? expectedBucketOwner,
String? grantFullControl,
String? grantRead,
String? grantReadACP,
String? grantWrite,
String? grantWriteACP,
RequestPayer? requestPayer,
String? versionId,
}) async {
final headers = <String, String>{
if (acl != null) 'x-amz-acl': acl.value,
if (checksumAlgorithm != null)
'x-amz-sdk-checksum-algorithm': checksumAlgorithm.value,
if (contentMD5 != null) 'Content-MD5': contentMD5.toString(),
if (expectedBucketOwner != null)
'x-amz-expected-bucket-owner': expectedBucketOwner.toString(),
if (grantFullControl != null)
'x-amz-grant-full-control': grantFullControl.toString(),
if (grantRead != null) 'x-amz-grant-read': grantRead.toString(),
if (grantReadACP != null) 'x-amz-grant-read-acp': grantReadACP.toString(),
if (grantWrite != null) 'x-amz-grant-write': grantWrite.toString(),
if (grantWriteACP != null)
'x-amz-grant-write-acp': grantWriteACP.toString(),
if (requestPayer != null) 'x-amz-request-payer': requestPayer.value,
};
final $query = <String, List<String>>{
if (versionId != null) 'versionId': [versionId],
};
final $result = await _protocol.sendRaw(
method: 'PUT',
requestUri:
'/${Uri.encodeComponent(bucket)}/${key.split('/').map(Uri.encodeComponent).join('/')}?acl',
queryParams: $query,
headers: headers,
payload: accessControlPolicy?.toXml('AccessControlPolicy'),
exceptionFnMap: _exceptionFns,
);
final $elem = await _s.xmlFromResponse($result);
return PutObjectAclOutput(
requestCharged: _s
.extractHeaderStringValue($result.headers, 'x-amz-request-charged')
?.let(RequestCharged.fromString),
);
}