2019-09-18 00:31:59 +02:00
|
|
|
<?php
|
|
|
|
namespace Framework\Middleware;
|
|
|
|
|
|
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
|
|
|
|
class TrailingSlashMiddleware {
|
|
|
|
|
|
|
|
public function __invoke(ServerRequestInterface $request, callable $next)
|
|
|
|
{
|
|
|
|
$uri = $request->getUri()->getPath();
|
2019-11-20 21:59:17 +01:00
|
|
|
if (!empty($uri) && $uri[-1] === "/" && $uri !== "/") {
|
2019-09-18 00:31:59 +02:00
|
|
|
return (new \GuzzleHttp\Psr7\Response())
|
|
|
|
->withStatus(301)
|
|
|
|
->withHeader('Location', substr($uri, 0, -1));
|
|
|
|
}
|
|
|
|
return $next($request);
|
|
|
|
}
|
|
|
|
|
2019-11-20 21:59:17 +01:00
|
|
|
}
|