You are here

class CdnSchemeConstraintValidator in CDN 8.3

CDN scheme constraint validator.

Hierarchy

Expanded class hierarchy of CdnSchemeConstraintValidator

1 file declares its use of CdnSchemeConstraintValidator
CdnSchemeConstraintValidatorTest.php in tests/src/Unit/Plugin/Validation/Constraint/CdnSchemeConstraintValidatorTest.php

File

src/Plugin/Validation/Constraint/CdnSchemeConstraintValidator.php, line 14

Namespace

Drupal\cdn\Plugin\Validation\Constraint
View source
class CdnSchemeConstraintValidator extends ConstraintValidator {

  /**
   * {@inheritdoc}
   */
  public function validate($scheme, Constraint $constraint) {
    if (!$constraint instanceof CdnSchemeConstraint) {
      throw new UnexpectedTypeException($constraint, __NAMESPACE__ . '\\CdnScheme');
    }
    if (!static::isValidCdnScheme($scheme)) {
      $this->context
        ->buildViolation($constraint->message)
        ->setParameter('%scheme', $scheme)
        ->setInvalidValue($scheme)
        ->addViolation();
    }
  }

  /**
   * Validates the given CDN scheme.
   *
   * @param string $scheme
   *   A scheme as expected by the CDN module: `//`, `https://` or `http://`.
   *
   * @return bool
   */
  protected static function isValidCdnScheme(string $scheme) : bool {
    return in_array($scheme, [
      'https://',
      'http://',
      '//',
    ], TRUE);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CdnSchemeConstraintValidator::isValidCdnScheme protected static function Validates the given CDN scheme.
CdnSchemeConstraintValidator::validate public function Checks if the passed value is valid.