mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-07-11 01:24:46 +02:00
5f915c86ea
* feat: support streaming from local filesystems * style: fix StyleCI findings
49 lines
1020 B
PHP
49 lines
1020 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Response;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Str;
|
|
|
|
/**
|
|
* Class LogRequest.
|
|
*/
|
|
class LogRequest
|
|
{
|
|
/**
|
|
* Handle an incoming request.
|
|
*
|
|
* @param Request $request
|
|
* @param Closure(Request): mixed $next
|
|
* @return mixed
|
|
*/
|
|
public function handle(Request $request, Closure $next): mixed
|
|
{
|
|
$requestId = Str::uuid()->toString();
|
|
|
|
Log::withContext([
|
|
'request-id' => $requestId,
|
|
]);
|
|
|
|
Log::info('Request Info', [
|
|
'method' => $request->method(),
|
|
'full-url' => $request->fullUrl(),
|
|
'ip' => $request->ip(),
|
|
'headers' => $request->headers->all(),
|
|
]);
|
|
|
|
$response = $next($request);
|
|
|
|
if ($response instanceof Response) {
|
|
$response->header('Request-Id', $requestId);
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|