diff --git a/core/modules/system/src/MachineNameController.php b/core/modules/system/src/MachineNameController.php index 239e5b3ecc56..d6310f4599aa 100644 --- a/core/modules/system/src/MachineNameController.php +++ b/core/modules/system/src/MachineNameController.php @@ -6,9 +6,9 @@ use Drupal\Component\Transliteration\TransliterationInterface; use Drupal\Component\Utility\Unicode; use Drupal\Core\Access\CsrfTokenGenerator; use Drupal\Core\DependencyInjection\ContainerInjectionInterface; -use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -78,10 +78,10 @@ class MachineNameController implements ContainerInjectionInterface { if (isset($replace_pattern) && isset($replace)) { if (!isset($replace_token)) { - throw new AccessDeniedException("Missing 'replace_token' query parameter."); + throw new AccessDeniedHttpException("Missing 'replace_token' query parameter."); } elseif (!$this->tokenGenerator->validate($replace_token, $replace_pattern)) { - throw new AccessDeniedException("Invalid 'replace_token' query parameter."); + throw new AccessDeniedHttpException("Invalid 'replace_token' query parameter."); } // Quote the pattern delimiter and remove null characters to avoid the e diff --git a/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php b/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php index dbd1f1a3b32d..90696fda4e58 100644 --- a/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php +++ b/core/modules/system/tests/src/Unit/Transliteration/MachineNameControllerTest.php @@ -7,8 +7,8 @@ use Drupal\Tests\UnitTestCase; use Drupal\Component\Transliteration\PhpTransliteration; use Drupal\system\MachineNameController; use Prophecy\Argument; -use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; /** * Tests that the machine name controller can transliterate strings as expected. @@ -103,7 +103,7 @@ class MachineNameControllerTest extends UnitTestCase { public function testMachineNameControllerWithInvalidReplacePattern() { $request = Request::create('', 'GET', ['text' => 'Bob', 'langcode' => 'en', 'replace' => 'Alice', 'replace_pattern' => 'Bob', 'replace_token' => 'invalid']); - $this->setExpectedException(AccessDeniedException::class, "Invalid 'replace_token' query parameter."); + $this->setExpectedException(AccessDeniedHttpException::class, "Invalid 'replace_token' query parameter."); $this->machineNameController->transliterate($request); } @@ -113,7 +113,7 @@ class MachineNameControllerTest extends UnitTestCase { public function testMachineNameControllerWithMissingToken() { $request = Request::create('', 'GET', ['text' => 'Bob', 'langcode' => 'en', 'replace' => 'Alice', 'replace_pattern' => 'Bob']); - $this->setExpectedException(AccessDeniedException::class, "Missing 'replace_token' query parameter."); + $this->setExpectedException(AccessDeniedHttpException::class, "Missing 'replace_token' query parameter."); $this->machineNameController->transliterate($request); }