putBucketAcl method

Future<void> putBucketAcl({
  1. required String bucket,
  2. BucketCannedACL? acl,
  3. AccessControlPolicy? accessControlPolicy,
  4. ChecksumAlgorithm? checksumAlgorithm,
  5. String? contentMD5,
  6. String? expectedBucketOwner,
  7. String? grantFullControl,
  8. String? grantRead,
  9. String? grantReadACP,
  10. String? grantWrite,
  11. String? grantWriteACP,
})

Implementation

Future<void> putBucketAcl({
  required String bucket,
  BucketCannedACL? acl,
  AccessControlPolicy? accessControlPolicy,
  ChecksumAlgorithm? checksumAlgorithm,
  String? contentMD5,
  String? expectedBucketOwner,
  String? grantFullControl,
  String? grantRead,
  String? grantReadACP,
  String? grantWrite,
  String? grantWriteACP,
}) 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(),
  };
  await _protocol.send(
    method: 'PUT',
    requestUri: '/${Uri.encodeComponent(bucket)}?acl',
    headers: headers,
    payload: accessControlPolicy?.toXml('AccessControlPolicy'),
    exceptionFnMap: _exceptionFns,
  );
}