diff --git a/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php b/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php index cb5cd28..e3ec321 100644 --- a/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php +++ b/core/lib/Drupal/Core/EventSubscriber/DefaultExceptionHtmlSubscriber.php @@ -16,6 +16,7 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; use Symfony\Component\HttpKernel\HttpKernelInterface; +use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; /** * Exception subscriber for handling core default HTML error pages. @@ -117,6 +118,7 @@ public function on404(GetResponseForExceptionEvent $event) { */ protected function makeSubrequest(GetResponseForExceptionEvent $event, $url, $status_code) { $request = $event->getRequest(); + $exception = $event->getException(); if (!($url && $url[0] == '/')) { $url = $request->getBasePath() . '/' . $url; @@ -148,7 +150,9 @@ protected function makeSubrequest(GetResponseForExceptionEvent $event, $url, $st $response->setStatusCode($status_code); // Persist any special HTTP headers that were set on the exception. - $response->headers->add($event->getException()->getHeaders()); + if ($exception instanceof HttpExceptionInterface) { + $response->headers->add($exception->getHeaders()); + } $event->setResponse($response); }