![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-csp/Model/Collector/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Csp\Model\Collector; use Magento\Csp\Api\Data\PolicyInterface; /** * Merges policies using different mergers. */ class CompositeMerger implements MergerInterface { /** * @var MergerInterface[] */ private $mergers; /** * @param MergerInterface[] $mergers */ public function __construct(array $mergers) { $this->mergers = $mergers; } /** * @inheritDoc */ public function merge(PolicyInterface $policy1, PolicyInterface $policy2): PolicyInterface { foreach ($this->mergers as $merger) { if ($merger->canMerge($policy1, $policy2)) { return $merger->merge($policy1, $policy2); } } throw new \RuntimeException('Cannot merge 2 policies of ' .get_class($policy1)); } /** * @inheritDoc */ public function canMerge(PolicyInterface $policy1, PolicyInterface $policy2): bool { foreach ($this->mergers as $merger) { if ($merger->canMerge($policy1, $policy2)) { return true; } } return false; } }