From 01f60614ef23587f3e9f37f1413909a67f2c2db1 Mon Sep 17 00:00:00 2001 From: Alejandro Celaya Date: Sat, 2 Nov 2019 18:36:15 +0100 Subject: [PATCH] Removed hardcoded route names for core routes and used action class names instead --- module/Core/config/routes.config.php | 6 +++--- module/Core/src/Action/QrCodeAction.php | 2 +- module/Core/src/Response/NotFoundHandler.php | 3 ++- module/Core/test/Response/NotFoundHandlerTest.php | 3 ++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/module/Core/config/routes.config.php b/module/Core/config/routes.config.php index 64ae1b09..b38222df 100644 --- a/module/Core/config/routes.config.php +++ b/module/Core/config/routes.config.php @@ -11,7 +11,7 @@ return [ 'routes' => [ [ - 'name' => 'long-url-redirect', + 'name' => Action\RedirectAction::class, 'path' => '/{shortCode}', 'middleware' => [ IpAddress::class, @@ -20,7 +20,7 @@ return [ 'allowed_methods' => [RequestMethod::METHOD_GET], ], [ - 'name' => 'pixel-tracking', + 'name' => Action\PixelAction::class, 'path' => '/{shortCode}/track', 'middleware' => [ IpAddress::class, @@ -29,7 +29,7 @@ return [ 'allowed_methods' => [RequestMethod::METHOD_GET], ], [ - 'name' => 'short-url-qr-code', + 'name' => Action\QrCodeAction::class, 'path' => '/{shortCode}/qr-code[/{size:[0-9]+}]', 'middleware' => [ Middleware\QrCodeCacheMiddleware::class, diff --git a/module/Core/src/Action/QrCodeAction.php b/module/Core/src/Action/QrCodeAction.php index d03e4c4d..ecc258eb 100644 --- a/module/Core/src/Action/QrCodeAction.php +++ b/module/Core/src/Action/QrCodeAction.php @@ -68,7 +68,7 @@ class QrCodeAction implements MiddlewareInterface return $this->buildErrorResponse($request, $handler); } - $path = $this->router->generateUri('long-url-redirect', ['shortCode' => $shortCode]); + $path = $this->router->generateUri(RedirectAction::class, ['shortCode' => $shortCode]); $size = $this->getSizeParam($request); $qrCode = new QrCode((string) $request->getUri()->withPath($path)->withQuery('')); diff --git a/module/Core/src/Response/NotFoundHandler.php b/module/Core/src/Response/NotFoundHandler.php index d75d956f..2791da68 100644 --- a/module/Core/src/Response/NotFoundHandler.php +++ b/module/Core/src/Response/NotFoundHandler.php @@ -9,6 +9,7 @@ use InvalidArgumentException; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; +use Shlinkio\Shlink\Core\Action\RedirectAction; use Shlinkio\Shlink\Core\Options\NotFoundRedirectOptions; use Zend\Diactoros\Response; use Zend\Expressive\Router\RouteResult; @@ -91,7 +92,7 @@ class NotFoundHandler implements RequestHandlerInterface if ( $routeResult->isSuccess() && - $routeResult->getMatchedRouteName() === 'long-url-redirect' && + $routeResult->getMatchedRouteName() === RedirectAction::class && $this->redirectOptions->hasInvalidShortUrlRedirect() ) { return new Response\RedirectResponse($this->redirectOptions->getInvalidShortUrlRedirect()); diff --git a/module/Core/test/Response/NotFoundHandlerTest.php b/module/Core/test/Response/NotFoundHandlerTest.php index bd18a32a..e2cf3667 100644 --- a/module/Core/test/Response/NotFoundHandlerTest.php +++ b/module/Core/test/Response/NotFoundHandlerTest.php @@ -9,6 +9,7 @@ use Prophecy\Argument; use Prophecy\Prophecy\ObjectProphecy; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\MiddlewareInterface; +use Shlinkio\Shlink\Core\Action\RedirectAction; use Shlinkio\Shlink\Core\Options\NotFoundRedirectOptions; use Shlinkio\Shlink\Core\Response\NotFoundHandler; use Zend\Diactoros\Response; @@ -101,7 +102,7 @@ class NotFoundHandlerTest extends TestCase '', $this->prophesize(MiddlewareInterface::class)->reveal(), ['GET'], - 'long-url-redirect' + RedirectAction::class ) ) )