| 131 | } |
| 132 | |
| 133 | func getAmzGrantACL(aCPolicy *accessControlPolicy) map[string][]string { |
| 134 | grants := aCPolicy.AccessControlList.Grant |
| 135 | res := map[string][]string{} |
| 136 | |
| 137 | for _, g := range grants { |
| 138 | switch g.Permission { |
| 139 | case "READ": |
| 140 | res["X-Amz-Grant-Read"] = append(res["X-Amz-Grant-Read"], "id="+g.Grantee.ID) |
| 141 | case "WRITE": |
| 142 | res["X-Amz-Grant-Write"] = append(res["X-Amz-Grant-Write"], "id="+g.Grantee.ID) |
| 143 | case "READ_ACP": |
| 144 | res["X-Amz-Grant-Read-Acp"] = append(res["X-Amz-Grant-Read-Acp"], "id="+g.Grantee.ID) |
| 145 | case "WRITE_ACP": |
| 146 | res["X-Amz-Grant-Write-Acp"] = append(res["X-Amz-Grant-Write-Acp"], "id="+g.Grantee.ID) |
| 147 | case "FULL_CONTROL": |
| 148 | res["X-Amz-Grant-Full-Control"] = append(res["X-Amz-Grant-Full-Control"], "id="+g.Grantee.ID) |
| 149 | } |
| 150 | } |
| 151 | return res |
| 152 | } |