Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/EventSubscriber/CacheRouterRebuildSubscriber.php \Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber
  2. 9 core/lib/Drupal/Core/EventSubscriber/CacheRouterRebuildSubscriber.php \Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber

Clear cache tags when the router is rebuilt.

Hierarchy

Expanded class hierarchy of CacheRouterRebuildSubscriber

1 string reference to 'CacheRouterRebuildSubscriber'
core.services.yml in core/core.services.yml
core/core.services.yml
1 service uses CacheRouterRebuildSubscriber
cache_router_rebuild_subscriber in core/core.services.yml
Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber

File

core/lib/Drupal/Core/EventSubscriber/CacheRouterRebuildSubscriber.php, line 12

Namespace

Drupal\Core\EventSubscriber
View source
class CacheRouterRebuildSubscriber implements EventSubscriberInterface {

  /**
   * {@inheritdoc}
   */
  public function onRouterFinished() {

    // Requested URLs that formerly gave a 403/404 may now be valid.
    // Also invalidate all cached routing as well as every HTTP response.
    Cache::invalidateTags([
      '4xx-response',
      'route_match',
      'http_response',
    ]);
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() : array {
    $events = [];

    // Act only when the router rebuild is finished.
    $events[RoutingEvents::FINISHED][] = [
      'onRouterFinished',
      200,
    ];
    return $events;
  }

}

Members