diff --git a/fastly.info.yml b/fastly.info.yml index 80aa177..e91e7dc 100644 --- a/fastly.info.yml +++ b/fastly.info.yml @@ -2,6 +2,6 @@ name: Fastly description: 'Integration with the Fastly service.' package: Reports core: 8.x -core_version_requirement: ^8 || ^9 +core_version_requirement: ^8 || ^9 || ^10 configure: fastly.settings type: module diff --git a/modules/fastlypurger/fastlypurger.info.yml b/modules/fastlypurger/fastlypurger.info.yml index e443df5..0834411 100644 --- a/modules/fastlypurger/fastlypurger.info.yml +++ b/modules/fastlypurger/fastlypurger.info.yml @@ -2,7 +2,7 @@ name: Fastly Purger type: module description: Integration with the Fastly service and the Purge module. core: 8.x -core_version_requirement: ^8 || ^9 +core_version_requirement: ^8 || ^9 || ^10 package: Purge - reverse proxies & CDNs configure: fastly.admin_settings_form dependencies: diff --git a/src/EventSubscriber/AddStaleHeaders.php b/src/EventSubscriber/AddStaleHeaders.php index 8d53e73..3b788d7 100644 --- a/src/EventSubscriber/AddStaleHeaders.php +++ b/src/EventSubscriber/AddStaleHeaders.php @@ -2,9 +2,9 @@ namespace Drupal\fastly\EventSubscriber; +use Symfony\Component\HttpKernel\Event\ResponseEvent; use Drupal\Core\Config\ConfigFactoryInterface; use Psr\Log\LoggerInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -45,10 +45,10 @@ class AddStaleHeaders implements EventSubscriberInterface { /** * Adds Surrogate-Control header. * - * @param \Symfony\Component\HttpKernel\Event\FilterResponseEvent $event + * @param \Symfony\Component\HttpKernel\Event\ResponseEvent $event * The event to process. */ - public function onRespond(FilterResponseEvent $event) { + public function onRespond(ResponseEvent $event) { // Get the fastly settings from configuration. $config = $this->config->get('fastly.settings'); diff --git a/src/EventSubscriber/SurrogateKeyGenerator.php b/src/EventSubscriber/SurrogateKeyGenerator.php index ea1e15a..8eb2294 100644 --- a/src/EventSubscriber/SurrogateKeyGenerator.php +++ b/src/EventSubscriber/SurrogateKeyGenerator.php @@ -2,9 +2,9 @@ namespace Drupal\fastly\EventSubscriber; +use Symfony\Component\HttpKernel\Event\ResponseEvent; use Drupal\fastly\CacheTagsHash; use Psr\Log\LoggerInterface; -use Symfony\Component\HttpKernel\Event\FilterResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -46,10 +46,10 @@ class SurrogateKeyGenerator implements EventSubscriberInterface { /** * Logs an emergency event when the X-Drupal-Cache-Tags header exceeds 16 KB. * - * @param \Symfony\Component\HttpKernel\Event\FilterResponseEvent $event + * @param \Symfony\Component\HttpKernel\Event\ResponseEvent $event * The event to process. */ - public function onRespond(FilterResponseEvent $event) { + public function onRespond(ResponseEvent $event) { if (!$event->isMasterRequest()) { return; } diff --git a/src/Plugin/Field/FieldFormatter/FastlyImageFormatter.php b/src/Plugin/Field/FieldFormatter/FastlyImageFormatter.php index aa5493f..a17acbc 100644 --- a/src/Plugin/Field/FieldFormatter/FastlyImageFormatter.php +++ b/src/Plugin/Field/FieldFormatter/FastlyImageFormatter.php @@ -355,7 +355,7 @@ class FastlyImageFormatter extends ImageFormatterBase implements ContainerFactor // context to ensure different file URLs are generated for different // sites in a multisite setup, including HTTP and HTTPS versions of the // same site. Fix in https://www.drupal.org/node/2646744. - $url = Url::fromUri(file_create_url($image_uri)); + $url = \Drupal::service('file_url_generator')->generate($image_uri); $cache_contexts[] = 'url.site'; } $cache_tags = Cache::mergeTags($base_cache_tags, $file->getCacheTags()); @@ -378,7 +378,7 @@ class FastlyImageFormatter extends ImageFormatterBase implements ContainerFactor } if($query){ $uri = $file->getFileUri(); - $image_url = Url::fromUri(file_create_url($uri)); + $image_url = \Drupal::service('file_url_generator')->generate($uri); $image_url->setOption('query', $query); $file->setFileUri($image_url->toUriString()); } diff --git a/src/VclHandler.php b/src/VclHandler.php index 2e90be0..cda6ea4 100644 --- a/src/VclHandler.php +++ b/src/VclHandler.php @@ -2,6 +2,8 @@ namespace Drupal\fastly; +use Twig\Loader\ArrayLoader; +use Twig\Environment; use Drupal\Component\Serialization\Json; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Extension\ModuleHandlerInterface; @@ -190,7 +192,7 @@ class VclHandler { */ public function __construct(ConfigFactoryInterface $config_factory, $host, Api $api, LoggerInterface $logger, Webhook $webhook, RequestStack $requestStack, Messenger $messenger, ModuleHandlerInterface $module_handler) { $this->moduleHandler = $module_handler; - $vcl_dir = drupal_get_path('module', 'fastly') . '/vcl_snippets'; + $vcl_dir = \Drupal::service('extension.list.module')->getPath('fastly') . '/vcl_snippets'; $data = [ 'vcl' => [ [ @@ -413,7 +415,7 @@ class VclHandler { return FALSE; } - $vcl_dir = drupal_get_path('module', 'fastly') . '/vcl_snippets/errors'; + $vcl_dir = \Drupal::service('extension.list.module')->getPath('fastly') . '/vcl_snippets/errors'; $singleVclData['vcl_dir'] = $vcl_dir; $singleVclData['type'] = 'deliver'; $requests = []; @@ -1104,7 +1106,7 @@ class VclHandler { try { $this->cloneLastActiveVersion(); //Check if optimization on fastly is turned on and if vcl exists - $data['vcl_dir'] = drupal_get_path('module', 'fastly') . '/vcl_snippets_image_optimizations/' . $params['optimize']; + $data['vcl_dir'] = \Drupal::service('extension.list.module')->getPath('fastly') . '/vcl_snippets_image_optimizations/' . $params['optimize']; $data['type'] = 'recv'; // Set vcl for image optimizer. if($this->checkIfVclExists(self::IMAGE_OPTIMIZER_BASIC_IMAGE_SETTINGS)) { @@ -1289,12 +1291,12 @@ class VclHandler { $data['name'] = FastlyEdgeModulesHelper::FASTLY_EDGE_MODULE_PREFIX . $name . '_' . $vcl['type']; // load vcl template and render it - $path = drupal_get_path('module','fastly') . '/fastly_edge_modules/templates/'; - $loader = new \Twig\Loader\ArrayLoader([ + $path = \Drupal::service('extension.list.module')->getPath('fastly') . '/fastly_edge_modules/templates/'; + $loader = new ArrayLoader([ 'template' => file_get_contents($path . $vcl['template'] . '.html.twig',TRUE), ]); - $twig = new \Twig\Environment($loader); + $twig = new Environment($loader); $data['content'] = $twig->render('template', $values); // Skip if template is empty.