From f145f994d37079d69eac77f597b9c77f270116da Mon Sep 17 00:00:00 2001 From: Awilum Date: Sat, 17 Aug 2019 10:05:18 +0300 Subject: [PATCH] Supply a custom callable resolver, which resolves PSR-15 middlewares. #213 #186 --- composer.json | 8 ++++++-- flextype/dependencies.php | 8 ++++++++ flextype/middlewares.php | 6 +++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/composer.json b/composer.json index 691ecb10..a8437360 100755 --- a/composer.json +++ b/composer.json @@ -50,13 +50,17 @@ "respect/validation": "^1.0", "monolog/monolog": "^1.24", "cocur/slugify": "^3.2", - "oscarotero/psr7-middlewares": "^3.21", "thunderer/shortcode": "^0.7.2", "ramsey/uuid": "^3.8", "symfony/yaml": "^4.3.3", "erusev/parsedown": "1.7.3", - "erusev/parsedown-extra": "0.7.1" + "erusev/parsedown-extra": "0.7.1", + + + "middlewares/trailing-slash": "^1.1", + "middlewares/response-time": "^1.1", + "bnf/slim3-psr15": "^1.1" }, "suggest": { "ext-zend-opcache": "Recommended for better performance", diff --git a/flextype/dependencies.php b/flextype/dependencies.php index 2dd336d4..b7fe1741 100644 --- a/flextype/dependencies.php +++ b/flextype/dependencies.php @@ -9,6 +9,7 @@ declare(strict_types=1); namespace Flextype; +use Bnf\Slim3Psr15\CallableResolver; use Cocur\Slugify\Slugify; use Intervention\Image\ImageManager; use League\Event\Emitter; @@ -44,6 +45,13 @@ use Thunder\Shortcode\ShortcodeFacade; use Twig\Extension\DebugExtension; use function date; +/** + * Supply a custom callable resolver, which resolves PSR-15 middlewares. + */ +$flextype['callableResolver'] = static function ($container) { + return new CallableResolver($container); +}; + /** * Add registry service to Flextype container */ diff --git a/flextype/middlewares.php b/flextype/middlewares.php index a345a535..3bc2731a 100644 --- a/flextype/middlewares.php +++ b/flextype/middlewares.php @@ -9,8 +9,8 @@ declare(strict_types=1); namespace Flextype; -use Psr7Middlewares\Middleware\ResponseTime; -use Psr7Middlewares\Middleware\TrailingSlash; +use Middlewares\ResponseTime; +use Middlewares\TrailingSlash; /** * Add middleware CSRF (cross-site request forgery) protection for all routes @@ -20,7 +20,7 @@ $app->add($flextype->get('csrf')); /** * Add middleware TrailingSlash for all routes */ -$app->add((new TrailingSlash(false))->redirect(301)); +$app->add((new TrailingSlash(false))->redirect(true)); /** * Add middleware ResponseTime for all routes