Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / redirect / src / EventSubscriber / RouteNormalizerRequestSubscriber.php
index d20f894d2e2807bbb8cb3391e4230e74ad936899..800e022a568b2b3be2bfa0d0fe5ab45ceddfd5fa 100644 (file)
@@ -5,12 +5,12 @@ namespace Drupal\redirect\EventSubscriber;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Path\PathMatcherInterface;
 use Drupal\Core\Routing\RequestHelper;
+use Drupal\Core\Routing\TrustedRedirectResponse;
 use Drupal\Core\Routing\UrlGeneratorInterface;
 use Drupal\redirect\RedirectChecker;
 use Symfony\Component\HttpKernel\KernelEvents;
 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\HttpFoundation\RedirectResponse;
 
 /**
  * Normalizes GET requests performing a redirect if required.
@@ -125,15 +125,9 @@ class RouteNormalizerRequestSubscriber implements EventSubscriberInterface {
       $original_uri = urldecode($original_uri);
       $redirect_uri = urldecode($redirect_uri);
       if ($redirect_uri != $original_uri) {
-        $response = new RedirectResponse($redirect_uri, $this->config->get('default_status_code'));
+        $response = new TrustedRedirectResponse($redirect_uri, $this->config->get('default_status_code'));
         $response->headers->set('X-Drupal-Route-Normalizer', 1);
         $event->setResponse($response);
-        // Disable page cache for redirects as that results in unpredictable
-        // behavior, e.g. when a trailing ? without query parameters is
-        // involved.
-        // @todo Remove when https://www.drupal.org/node/2761639 is fixed in
-        //   Drupal core.
-        \Drupal::service('page_cache_kill_switch')->trigger();
       }
     }
   }