Common checker for both stricter and basic validation.
(bucketName string, strict bool)
| 367 | |
| 368 | // Common checker for both stricter and basic validation. |
| 369 | func checkBucketNameCommon(bucketName string, strict bool) (err error) { |
| 370 | if strings.TrimSpace(bucketName) == "" { |
| 371 | return errors.New("Bucket name cannot be empty") |
| 372 | } |
| 373 | if len(bucketName) < 3 { |
| 374 | return errors.New("Bucket name cannot be shorter than 3 characters") |
| 375 | } |
| 376 | if len(bucketName) > 63 { |
| 377 | return errors.New("Bucket name cannot be longer than 63 characters") |
| 378 | } |
| 379 | if ipAddress.MatchString(bucketName) { |
| 380 | return errors.New("Bucket name cannot be an ip address") |
| 381 | } |
| 382 | if strings.Contains(bucketName, "..") || strings.Contains(bucketName, ".-") || strings.Contains(bucketName, "-.") { |
| 383 | return errors.New("Bucket name contains invalid characters") |
| 384 | } |
| 385 | if strict { |
| 386 | if !validBucketNameStrict.MatchString(bucketName) { |
| 387 | err = errors.New("Bucket name contains invalid characters") |
| 388 | } |
| 389 | return err |
| 390 | } |
| 391 | if !validBucketName.MatchString(bucketName) { |
| 392 | err = errors.New("Bucket name contains invalid characters") |
| 393 | } |
| 394 | return err |
| 395 | } |
| 396 | |
| 397 | // CheckValidBucketName - checks if we have a valid input bucket name. |
| 398 | func CheckValidBucketName(bucketName string) (err error) { |
no test coverage detected