Sources/OSS/Transform/SerdeBucketAcl.swift (38 lines of code) (raw):

import Foundation // MARK: - PutBucketAcl extension Serde { static func serializePutBucketAcl( _ request: inout PutBucketAclRequest, _ input: inout OperationInput ) throws { if let value = request.acl { input.headers["x-oss-acl"] = value } } static func deserializePutBucketAcl( _: inout PutBucketAclResult, _: inout OperationOutput ) throws {} } // MARK: - GetBucketAcl extension Serde { static func serializeGetBucketAcl( _: inout GetBucketAclRequest, _: inout OperationInput ) throws {} static func deserializeGetBucketAcl( _ result: inout GetBucketAclResult, _ output: inout OperationOutput ) throws { let body: [String: Any] = try Serde.deserializeXml(output.body, "AccessControlPolicy") var accessControlPolicy = AccessControlPolicy() if let accessControlList = body["AccessControlList"] as? [String: String] { accessControlPolicy.accessControlList = AccessControlList(grant: accessControlList["Grant"]) } if let ownerData = body["Owner"] as? [String: String] { var owner = Owner() owner.displayName = ownerData["DisplayName"] owner.id = ownerData["ID"] accessControlPolicy.owner = owner } result.accessControlPolicy = accessControlPolicy } }