* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\SecurityBundle\Security; use Symfony\Component\Security\Http\Firewall\ExceptionListener; use Symfony\Component\Security\Http\Firewall\LogoutListener; /** * This is a wrapper around the actual firewall configuration which allows us * to lazy load the context for one specific firewall only when we need it. * * @author Johannes M. Schmitt */ class FirewallContext { private iterable $listeners; private ?ExceptionListener $exceptionListener; private ?LogoutListener $logoutListener; private ?FirewallConfig $config; /** * @param iterable $listeners */ public function __construct(iterable $listeners, ?ExceptionListener $exceptionListener = null, ?LogoutListener $logoutListener = null, ?FirewallConfig $config = null) { $this->listeners = $listeners; $this->exceptionListener = $exceptionListener; $this->logoutListener = $logoutListener; $this->config = $config; } public function getConfig(): ?FirewallConfig { return $this->config; } /** * @return iterable */ public function getListeners(): iterable { return $this->listeners; } public function getExceptionListener(): ?ExceptionListener { return $this->exceptionListener; } public function getLogoutListener(): ?LogoutListener { return $this->logoutListener; } }