diff --git a/.htaccess b/.htaccess index e627c94..cb3ca35 100644 --- a/.htaccess +++ b/.htaccess @@ -36,5 +36,4 @@ FileETag None Header set X-Content-Type-Options nosniff Header set X-XSS-Protection "1; mode=block" Header set Referrer-Policy no-referrer - Header add Link "; rel=preload" "expr=%{CONTENT_TYPE} =~ m#text/html#" diff --git a/classes/LinkHeaderMiddleware.php b/classes/LinkHeaderMiddleware.php new file mode 100644 index 0000000..6796f36 --- /dev/null +++ b/classes/LinkHeaderMiddleware.php @@ -0,0 +1,46 @@ +router = $container->get('router'); + } + + /** + * @param Request $request + * @param Response $response + * @param callable $next + * @return mixed + */ + public function __invoke(Request $request, Response $response, callable $next) + { + $response = $response->withHeader( + 'Link', + '<' . $this->router->getBasePath() . '/css/style.css>; rel=preload; as=style' + ); + + + return $next($request, $response); + } +} diff --git a/index.php b/index.php index f40d7fd..ef6f166 100644 --- a/index.php +++ b/index.php @@ -8,6 +8,7 @@ use Alltube\Controller\FrontController; use Alltube\Controller\JsonController; use Alltube\CspMiddleware; use Alltube\ErrorHandler; +use Alltube\LinkHeaderMiddleware; use Alltube\LocaleManagerFactory; use Alltube\LocaleMiddleware; use Alltube\LoggerFactory; @@ -44,6 +45,7 @@ try { $app->add(new LocaleMiddleware($container)); $app->add(new RouterPathMiddleware($container)); $app->add(new CspMiddleware($container)); + $app->add(new LinkHeaderMiddleware($container)); // Controllers. $frontController = new FrontController($container);