protected function DefaultExceptionSubscriber::setEventResponse in Drupal 10
Same name and namespace in other branches
- 8 core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php \Drupal\jsonapi\EventSubscriber\DefaultExceptionSubscriber::setEventResponse()
- 9 core/modules/jsonapi/src/EventSubscriber/DefaultExceptionSubscriber.php \Drupal\jsonapi\EventSubscriber\DefaultExceptionSubscriber::setEventResponse()
1 call to DefaultExceptionSubscriber::setEventResponse()
- DefaultExceptionSubscriber::onException in core/
modules/ jsonapi/ src/ EventSubscriber/ DefaultExceptionSubscriber.php - Handles errors for this subscriber.
File
- core/
modules/ jsonapi/ src/ EventSubscriber/ DefaultExceptionSubscriber.php, line 59
Class
- DefaultExceptionSubscriber
- Serializes exceptions in compliance with the JSON:API specification.
Namespace
Drupal\jsonapi\EventSubscriberCode
protected function setEventResponse(ExceptionEvent $event, $status) {
/** @var \Symfony\Component\HttpKernel\Exception\HttpException $exception */
$exception = $event
->getThrowable();
$document = new JsonApiDocumentTopLevel(new ErrorCollection([
$exception,
]), new NullIncludedData(), new LinkCollection([]));
if ($event
->getRequest()
->isMethodCacheable()) {
$response = new CacheableResourceResponse($document, $exception
->getStatusCode(), $exception
->getHeaders());
$response
->addCacheableDependency($exception);
}
else {
$response = new ResourceResponse($document, $exception
->getStatusCode(), $exception
->getHeaders());
}
$event
->setResponse($response);
}