vendor/visual-craft/rest-base-bundle/src/Controller/ErrorController.php line 13

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace VisualCraft\RestBaseBundle\Controller;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\HttpKernel\Controller\ErrorController as SymfonyErrorController;
  7. use VisualCraft\RestBaseBundle\Constants;
  8. use VisualCraft\RestBaseBundle\Problem\ProblemResponseFactory;
  9. class ErrorController
  10. {
  11.     /**
  12.      * @var SymfonyErrorController
  13.      */
  14.     private $errorController;
  15.     /**
  16.      * @var ProblemResponseFactory
  17.      */
  18.     private $problemResponseFactory;
  19.     public function __construct(SymfonyErrorController $errorControllerProblemResponseFactory $problemResponseFactory)
  20.     {
  21.         $this->errorController $errorController;
  22.         $this->problemResponseFactory $problemResponseFactory;
  23.     }
  24.     public function __invoke(\Throwable $exceptionRequest $request): Response
  25.     {
  26.         if ($request->attributes->get(Constants::API_ZONE_ATTRIBUTEfalse)) {
  27.             return $this->problemResponseFactory->create($exception);
  28.         }
  29.         return $this->errorController->__invoke($exception);
  30.     }
  31.     public function preview(Request $requestint $code): Response
  32.     {
  33.         return $this->errorController->preview($request$code);
  34.     }
  35. }