Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/EventSubscriber/CacheRouterRebuildSubscriber.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/EventSubscriber/CacheRouterRebuildSubscriber.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,33 @@ +<?php + +namespace Drupal\Core\EventSubscriber; + +use Drupal\Core\Cache\Cache; +use Drupal\Core\Routing\RoutingEvents; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; + +/** + * Clear cache tags when the router is rebuilt. + */ +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() { + $events = []; + // Act only when the router rebuild is finished. + $events[RoutingEvents::FINISHED][] = ['onRouterFinished', 200]; + return $events; + } + +}