Removed hardcoded route names for core routes and used action class names instead

This commit is contained in:
Alejandro Celaya 2019-11-02 18:36:15 +01:00
parent eeb5306883
commit 01f60614ef
4 changed files with 8 additions and 6 deletions

View file

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

View file

@ -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(''));

View file

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

View file

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