user() || ! $access->governanceAvailable() || ! preg_match('#^(perfil/|perfis/|minhas-oportunidades)#', $request->path())) { return $next($request); } try { $response = $next($request); } catch (\Throwable $error) { $status = $error instanceof HttpExceptionInterface ? $error->getStatusCode() : ($error instanceof ValidationException ? 422 : 500); $this->record($request, $access, $status); throw $error; } if ($response->getStatusCode() >= 400) { $this->record($request, $access, $response->getStatusCode()); } return $response; } private function record(Request $request, PortalProfileAccess $access, int $status): void { $access->audit($request->user(), 'request_denied', ['method' => $request->method(), 'path' => $request->path(), 'status' => $status]); } }