Commit 9133f151 authored by Francesco Sardara's avatar Francesco Sardara Committed by Sascha Grossenbacher
Browse files

Issue #3160280 by sardara: Encoded query parameters are decoded upon redirect

parent 41c12b8c
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -123,8 +123,7 @@ class RouteNormalizerRequestSubscriber implements EventSubscriberInterface {

      $original_uri = $request->getSchemeAndHttpHost() . $request->getRequestUri();
      $original_uri = urldecode($original_uri);
      $redirect_uri = urldecode($redirect_uri);
      if ($redirect_uri != $original_uri) {
      if (urldecode($redirect_uri) != $original_uri) {
        $response = new TrustedRedirectResponse($redirect_uri, $this->config->get('default_status_code'));
        $response->headers->set('X-Drupal-Route-Normalizer', 1);
        $event->setResponse($response);
+2 −1
Original line number Diff line number Diff line
@@ -98,7 +98,8 @@ class RouteNormalizerRequestSubscriberTest extends UnitTestCase {
    return [
      ['https://example.com/route-to-normalize', [], 'https://example.com/route-to-normalize', FALSE],
      ['https://example.com/route-to-normalize', ['key' => 'value'], 'https://example.com/route-to-normalize?key=value', FALSE],
      ['https://example.com/index.php/', ['q' => 'node/1'], 'https://example.com/?q=node/1', TRUE],
      ['https://example.com/index.php/', ['q' => 'node/1'], 'https://example.com/?q=node%2F1', TRUE],
      ['https://example.com/index.php/', ['q' => 'node/1', 'p' => 'a+b'], 'https://example.com/?q=node%2F1&p=a%2Bb', TRUE],
    ];
  }