Issue #2829791 by YesCT: Fix exception message for MachineNameController replace_token query parameter

8.3.x
Alex Pott 2016-11-26 21:07:15 +00:00
parent f96cbb29eb
commit f08a8c8318
2 changed files with 6 additions and 6 deletions

View File

@ -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

View File

@ -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);
}