You are here

public function ResourceResponseSubscriber::onResponse in Drupal 10

Same name in this branch
  1. 10 core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php \Drupal\jsonapi\EventSubscriber\ResourceResponseSubscriber::onResponse()
  2. 10 core/modules/rest/src/EventSubscriber/ResourceResponseSubscriber.php \Drupal\rest\EventSubscriber\ResourceResponseSubscriber::onResponse()
Same name and namespace in other branches
  1. 8 core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php \Drupal\jsonapi\EventSubscriber\ResourceResponseSubscriber::onResponse()
  2. 9 core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php \Drupal\jsonapi\EventSubscriber\ResourceResponseSubscriber::onResponse()

Serializes ResourceResponse responses' data, and removes that data.

Parameters

\Symfony\Component\HttpKernel\Event\ResponseEvent $event: The event to process.

File

core/modules/jsonapi/src/EventSubscriber/ResourceResponseSubscriber.php, line 77

Class

ResourceResponseSubscriber
Response subscriber that serializes and removes ResourceResponses' data.

Namespace

Drupal\jsonapi\EventSubscriber

Code

public function onResponse(ResponseEvent $event) {
  $response = $event
    ->getResponse();
  if (!$response instanceof ResourceResponse) {
    return;
  }
  $request = $event
    ->getRequest();
  $format = 'api_json';
  $this
    ->renderResponseBody($request, $response, $this->serializer, $format);
  $event
    ->setResponse($this
    ->flattenResponse($response, $request));
}