(canonicalID, arn, principal, bucketOwnerCanonicalID)
| 406 | } |
| 407 | |
| 408 | function _checkPrincipals(canonicalID, arn, principal, bucketOwnerCanonicalID) { |
| 409 | if (principal === '*') { |
| 410 | return _checkPrincipalWildcard(arn, canonicalID, bucketOwnerCanonicalID); |
| 411 | } |
| 412 | |
| 413 | if (principal.CanonicalUser) { |
| 414 | return _findBestPrincipalMatch(principal.CanonicalUser, |
| 415 | p => _checkPrincipalCanonicalUser(p, arn, canonicalID, bucketOwnerCanonicalID)); |
| 416 | } |
| 417 | |
| 418 | if (principal.AWS) { |
| 419 | return _findBestPrincipalMatch(principal.AWS, |
| 420 | p => _checkPrincipalAWS(p, arn, canonicalID, bucketOwnerCanonicalID)); |
| 421 | } |
| 422 | |
| 423 | return checkPrincipalResult.KO; |
| 424 | } |
| 425 | |
| 426 | // checkBucketPolicy Finite State Machine. |
| 427 | // ┌───────────────────────────┐ |
no test coverage detected