user(); } catch (\Exception $e) { } $response = $next($request); if ($request->user()) { $user = $request->user(); } $alias = $request->route()[1]['as']; $actions = config('domain.log.actions'); if (!in_array($alias, array_keys($actions))) { return $response; } $action = $actions[$alias]; $browser = Agent::browser(); if ($user && $user instanceof Account) { $creatorType = 'account'; } $log = [ 'request_url' => $request->fullUrl(), 'request_method' => $request->getMethod(), 'request_param' => $request->input(), 'request_device' => Agent::device().' '.Agent::platform(), 'request_browser' => $browser.' '.Agent::version($browser), 'request_languages' => implode(', ', Agent::languages()), 'response_status' => $response->getStatusCode(), 'response_content' => ($response instanceof JsonResponse) ? json_decode($response->getContent()) : '', 'action' => $action, 'ip' => $request->ip() ?? '127.0.0.1', 'creator_id' => $user->id ?? 0, 'creator_type' => $creatorType ?? '', 'creator_username' => $user->username ?? '', 'creator_nickname' => $user->nickname ?? '', 'microtime' => ceil((microtime(true)-BOOT_TIME)*1000), ]; Event::fire(new NewRequestEvent($log)); return $response; } }