FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
ameliabooking
/
vendor
/
apimatic
/
core
/
src
/
Authentication
Edit File: CoreAuth.php
<?php declare(strict_types=1); namespace Core\Authentication; use CoreInterfaces\Core\Authentication\AuthInterface; use CoreInterfaces\Core\Request\ParamInterface; use CoreInterfaces\Core\Request\RequestSetterInterface; use CoreInterfaces\Core\Request\TypeValidatorInterface; use InvalidArgumentException; /** * Use to apply authentication parameters to the request */ class CoreAuth implements AuthInterface { private $parameters; private $isValid = false; /** * @param ParamInterface ...$parameters */ public function __construct(...$parameters) { $this->parameters = $parameters; } /** * @throws InvalidArgumentException */ public function validate(TypeValidatorInterface $validator): void { array_walk($this->parameters, function ($param) use ($validator): void { $param->validate($validator); }); $this->isValid = true; } public function apply(RequestSetterInterface $request): void { if (!$this->isValid) { return; } array_walk($this->parameters, function ($param) use ($request): void { $param->apply($request); }); } }
Save
Back