Se agrego Middleware
This commit is contained in:
parent
64b99c9194
commit
601fc4f5cc
56
app/Http/Middleware/EjemploMiddleware.php
Normal file
56
app/Http/Middleware/EjemploMiddleware.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class EjemploMiddleware
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||
*/
|
||||
// public function handle(Request $request, Closure $next): Response
|
||||
// {
|
||||
// // Lógica del middleware que se ejecuta ANTES de la petición.
|
||||
// // Por ejemplo, verificar si el usuario está autenticado.
|
||||
// if (!Auth::check()) {
|
||||
// // Si la condición no se cumple, se bloquea la petición.
|
||||
// // Se puede devolver una redirección o un error.
|
||||
// return redirect('/login');
|
||||
// }
|
||||
|
||||
// // Si la condición se cumple, se permite que la petición continúe.
|
||||
// // Esto pasa la petición al siguiente middleware o al controlador.
|
||||
// return $next($request);
|
||||
|
||||
// // Lógica del middleware que se ejecuta DESPUÉS de la petición.
|
||||
// // Esta parte del código se ejecuta al "deshacer" la cadena de middleware,
|
||||
// // una vez que la respuesta ha sido generada.
|
||||
// // Por ejemplo, para modificar la respuesta o registrar datos.
|
||||
// }
|
||||
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
// Código que se ejecuta ANTES de que la petición llegue al controlador.
|
||||
$start_time = microtime(true);
|
||||
|
||||
// Se pasa la petición al siguiente middleware o al controlador y se captura la respuesta.
|
||||
$response = $next($request);
|
||||
|
||||
// Código que se ejecuta DESPUÉS de que el controlador ha generado la respuesta.
|
||||
$end_time = microtime(true);
|
||||
$execution_time = ($end_time - $start_time) * 1000;
|
||||
|
||||
// Puedes usar logger() para registrar el tiempo.
|
||||
Log::info("La petición a " . $request->path() . " tardó {$execution_time}ms");
|
||||
|
||||
// Se devuelve la respuesta al navegador.
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user