I have this very simple middleware
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
class CacheResponseMinify
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
Log::debug('***********************************************************');
Log::debug($request);
return $next($request);
}
}
This middleware is associated with a route and a parameter :
Route::get('/route/{page}', [App\Http\Controllers\MyController::class, 'page'])->middleware([ 'cacheResponseMinify']);
I enter this URL in browser : http://localhost:81/route/my_page
In the log, the first execution of hte middleware shows an empty array :
[2022-03-01 14:38:48] local.DEBUG: array (
)
The second execution shows an array with datas from the loaded URL
[2022-03-01 14:38:51] local.DEBUG: array (
'action_name' => 'Title_of_the_page',
'idsite' => '0',
'rec' => '1',
'r' => '588131',
'h' => '14',
'm' => '38',
's' => '50',
'url' => 'http://localhost:81/route/my_page',
'_id' => '746a68055b9493f2',
'_idts' => '1646141931',
'_idvc' => '1',
'_idn' => '1',
'_refts' => '0',
'_viewts' => '1646141931',
'send_image' => '1',
'pdf' => '1',
'qt' => '0',
'realp' => '0',
'wma' => '0',
'dir' => '0',
'fla' => '0',
'java' => '0',
'gears' => '0',
'ag' => '0',
'cookie' => '1',
'res' => '1920x1080',
'gt_ms' => '404',
'pv_id' => 'iGGVy6',
)
If the route is absolute, wihout parameter
Route::get('/route/my_page', [App\Http\Controllers\MyController::class, 'page'])->middleware([ 'cacheResponseMinify']);
the middleware is executed only once.
Have you some idea why with a route and parameter, the middleware is executed twice ?