getHeaders() public method

public getHeaders ( )
コード例 #1
0
 /**
  * Converts an Exception to a Response.
  *
  * @param  Request          $request
  * @param  FlattenException $exception
  * @return Response
  */
 public function showAction(Request $request, FlattenException $exception)
 {
     if (is_subclass_of($exception->getClass(), 'Pagekit\\Kernel\\Exception\\HttpException')) {
         $title = $exception->getMessage();
     } else {
         $title = __('Whoops, looks like something went wrong.');
     }
     $content = $this->getAndCleanOutputBuffering($request->headers->get('X-Php-Ob-Level', -1));
     $response = App::view('system/error.php', compact('title', 'exception', 'content'));
     return App::response($response, $exception->getCode(), $exception->getHeaders());
 }
コード例 #2
0
ファイル: ExceptionAction.php プロジェクト: api-platform/core
 /**
  * Converts a an exception to a JSON response.
  *
  * @param FlattenException $exception
  * @param Request          $request
  *
  * @return Response
  */
 public function __invoke(FlattenException $exception, Request $request) : Response
 {
     $exceptionClass = $exception->getClass();
     foreach ($this->exceptionToStatus as $class => $status) {
         if (is_a($exceptionClass, $class, true)) {
             $exception->setStatusCode($status);
             break;
         }
     }
     $headers = $exception->getHeaders();
     $format = ErrorFormatGuesser::guessErrorFormat($request, $this->errorFormats);
     $headers['Content-Type'] = sprintf('%s; charset=utf-8', $format['value'][0]);
     $headers['X-Content-Type-Options'] = 'nosniff';
     $headers['X-Frame-Options'] = 'deny';
     return new Response($this->serializer->serialize($exception, $format['key']), $exception->getStatusCode(), $headers);
 }
コード例 #3
0
 /**
  * Converts an Exception to a Response.
  *
  * @param  Request              $request
  * @param  FlattenException     $exception
  * @param  DebugLoggerInterface $logger
  * @param  string               $_format
  * @throws \InvalidArgumentException
  * @return Response
  */
 public function showAction(Request $request, FlattenException $exception, DebugLoggerInterface $logger = null, $_format = 'html')
 {
     $currentContent = $this->getAndCleanOutputBuffering($request->headers->get('X-Php-Ob-Level', -1));
     switch ($exception->getClass()) {
         case 'Pagekit\\Component\\Session\\Csrf\\Exception\\BadTokenException':
             $title = __('Invalid CSRF token.');
             break;
         case 'Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException':
             $title = __('Sorry, the page you are looking for could not be found.');
             break;
         case 'Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException':
             $title = $exception->getMessage();
             break;
         default:
             $title = __('Whoops, looks like something went wrong.');
     }
     $response = $this['view']->render('extension://system/theme/templates/error.razr', compact('title', 'exception', 'currentContent'));
     return $this['response']->create($response, $exception->getStatusCode(), $exception->getHeaders());
 }
コード例 #4
0
 /**
  * @param string           $format
  * @param FlattenException $exception
  * @param int              $code
  * @param array            $parameters
  * @param Request          $request
  * @param bool             $showException
  *
  * @return View
  */
 protected function createView($format, FlattenException $exception, $code, $parameters, Request $request, $showException)
 {
     $parameters = $this->createExceptionWrapper($parameters);
     $view = View::create($parameters, $code, $exception->getHeaders());
     $view->setFormat($format);
     return $view;
 }