<?php namespace Illuminate\Http\Middleware; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Vite; class AddLinkHeadersForPreloadedAssets { /** * Handle the incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return \Illuminate\Http\Response */ public function handle($request, $next) { return tap($next($request), function ($response) { if (Vite::preloadedAssets() !== []) { $response->header('Link', Collection::make(Vite::preloadedAssets()) ->map(fn ($attributes, $url) => "<{$url}>; ".implode('; ', $attributes)) ->join(', ')); } }); } }