Skip to content
Snippets Groups Projects
Verified Commit 1e356a6d authored by Lee Rowlands's avatar Lee Rowlands
Browse files

Issue #3491543 by mfb: symfony/http-foundation Follow up issue for isAdminPath validator

(cherry picked from commit c981ed1c)
parent 272f814c
Branches
Tags
21 merge requests!12227Issue #3181946 by jonmcl, mglaman,!12079Issue #3523476 by matthiasm11: Add empty check on operator,!12024Fix: DocBlock comment for return value of Drupal\Core\Database\Connection::transactionManager(),!11974Draft: Issue #3495165 by catch, joeyroth, berdir, texas-bronius: Better warning...,!11934Issue #3520997: DefaultLazyPluginCollection unnecessarily instantiates plugins when sorting collection,!11887Issue #3520065: The migrate Row class API is incomplete,!11636Draft: Issue #3515643 by macsim: fieldNameExists method is inconsistent,!11515Issue #3480419 by mondrake, smustgrave, catch: Method...,!11380Issue #3490698 by catch, spokje: Bump MINIMUM_STABILITY back to 'stable' when...,!11281Use Drupal Core Leadership terminology in MAINTAINERS.txt,!11239Issue #3507548: Allow workspace changes listing to show all items, without a pager,!11238Fix issue #3051797,!11213Issue #3506743 by tomislav.matokovic: Increasing the color contrast for the navigation block title against the background of the navigation sidebar to at least 4.5:1,!11147Draft: Try to avoid manually setting required cache contexts,!11108Issue #3490298 by nicxvan: Profiles can be missed in OOP hooks,!11093Drupal on MongoDB 11.1.x,!11017Issue #3502540: Add date filter for moderated content.,!11009Issue #3486972 migrate feed icon,!10999Cleaning up Taxonomy hooks and updating baseline.,!10977Issue #3501457: Fix path used in a A11y Test Admin,!10881Issue #3489329 by mfb, casey: symfony/http-foundation commit 32310ff breaks PathValidator
Pipeline #373031 passed with warnings
Pipeline: drupal

#373039

    ......@@ -7,8 +7,10 @@
    use Drupal\Core\Cache\CacheableDependencyInterface;
    use Drupal\Core\Http\Exception\CacheableAccessDeniedHttpException;
    use Drupal\Core\Session\AccountInterface;
    use Symfony\Component\HttpFoundation\Exception\BadRequestException;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
    use Symfony\Component\Routing\Exception\ResourceNotFoundException;
    use Symfony\Component\Routing\RouteCollection;
    use Symfony\Component\Routing\RequestContext as SymfonyRequestContext;
    use Symfony\Component\Routing\RouterInterface;
    ......@@ -138,7 +140,13 @@ public function generate($name, $parameters = [], $referenceType = self::ABSOLUT
    * Thrown when access checking failed.
    */
    public function match($pathinfo): array {
    return $this->matchRequest(Request::create($pathinfo));
    try {
    $request = Request::create($pathinfo);
    }
    catch (BadRequestException $e) {
    throw new ResourceNotFoundException($e->getMessage(), $e->getCode(), $e);
    }
    return $this->matchRequest($request);
    }
    }
    ......@@ -3,6 +3,7 @@
    namespace Drupal\Core\Routing;
    use Drupal\Core\Path\CurrentPathStack;
    use Symfony\Component\HttpFoundation\Exception\BadRequestException;
    use Symfony\Component\HttpFoundation\Request;
    use Symfony\Component\Routing\Exception\MethodNotAllowedException;
    use Symfony\Component\Routing\Exception\ResourceNotFoundException;
    ......@@ -98,7 +99,12 @@ public function addRouteEnhancer(EnhancerInterface $route_enhancer) {
    * {@inheritdoc}
    */
    public function match($pathinfo): array {
    $request = Request::create($pathinfo);
    try {
    $request = Request::create($pathinfo);
    }
    catch (BadRequestException $e) {
    throw new ResourceNotFoundException($e->getMessage(), $e->getCode(), $e);
    }
    return $this->matchRequest($request);
    }
    ......
    ......@@ -12,6 +12,7 @@
    use Drupal\Core\Routing\UrlGeneratorInterface;
    use Drupal\Tests\UnitTestCase;
    use Prophecy\Argument;
    use Symfony\Component\Routing\Exception\ResourceNotFoundException;
    use Symfony\Component\Routing\Route;
    use Symfony\Component\Routing\RouteCollection;
    ......@@ -59,6 +60,9 @@ public function testMatchesWithDifferentFitOrder(): void {
    $result = $router->match('/user/login');
    $this->assertEquals('user_login', $result['_route']);
    $this->expectException(ResourceNotFoundException::class);
    $router->match('/user/login ');
    }
    }
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment