| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\HttpKernel\Event;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpKernel\HttpKernelInterface;/** * Allows to create a response for a thrown exception. * * Call setResponse() to set the response that will be returned for the * current request. The propagation of this event is stopped as soon as a * response is set. * * You can also call setThrowable() to replace the thrown exception. This * exception will be thrown if no response is set during processing of this * event. * * @author Bernhard Schussek <bschussek@gmail.com> */final class ExceptionEvent extends RequestEvent{    private $throwable;    /**     * @var bool     */    private $allowCustomResponseCode = false;    public function __construct(HttpKernelInterface $kernel, Request $request, int $requestType, \Throwable $e)    {        parent::__construct($kernel, $request, $requestType);        $this->setThrowable($e);    }    public function getThrowable(): \Throwable    {        return $this->throwable;    }    /**     * Replaces the thrown exception.     *     * This exception will be thrown if no response is set in the event.     */    public function setThrowable(\Throwable $exception): void    {        $this->throwable = $exception;    }    /**     * Mark the event as allowing a custom response code.     */    public function allowCustomResponseCode(): void    {        $this->allowCustomResponseCode = true;    }    /**     * Returns true if the event allows a custom response code.     */    public function isAllowingCustomResponseCode(): bool    {        return $this->allowCustomResponseCode;    }}
 |