Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RouteAccessResponseSubscriber.php

function RouteAccessResponseSubscriber::onRespond

Bubbles the route's access result' cacheability metadata.

Parameters

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

File

core/lib/Drupal/Core/EventSubscriber/RouteAccessResponseSubscriber.php, line 32

Class

RouteAccessResponseSubscriber
Response subscriber to bubble the route's access result's cacheability.

Namespace

Drupal\Core\EventSubscriber

Code

public function onRespond(ResponseEvent $event) {
    if (!$event->isMainRequest()) {
        return;
    }
    $response = $event->getResponse();
    if (!$response instanceof CacheableResponseInterface) {
        return;
    }
    $request = $event->getRequest();
    // It is possible that route access checking did not occur, for example,
    // when an exception was thrown during route matching. This could happen in
    // an implementation of \Drupal\Core\Routing\EnhancerInterface.
    // @see \Drupal\jsonapi\Revisions\ResourceVersionRouteEnhancer::enhance()
    if ($request->attributes
        ->has(AccessAwareRouterInterface::ACCESS_RESULT)) {
        $response->addCacheableDependency($request->attributes
            ->get(AccessAwareRouterInterface::ACCESS_RESULT));
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal