From 434f873e79a8bb05b963d85b77cb10665d559f8e Mon Sep 17 00:00:00 2001 From: Srinath Reddy Dudi Date: Sun, 5 Jul 2026 22:32:29 -0400 Subject: [PATCH] capture session data --- config/laritor.php | 4 ++++ src/Recorders/RequestRecorder.php | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/config/laritor.php b/config/laritor.php index ec8a411..7d77dd9 100644 --- a/config/laritor.php +++ b/config/laritor.php @@ -59,6 +59,10 @@ 'response_body' => env('LARITOR_RECORD_OUTBOUND_REQUEST_RESPONSE_BODY', false), ], + 'session' => [ + 'data' => env('LARITOR_RECORD_SESSION_DATA', false), + ], + 'whitelisted_vendors' => env('LARITOR_WHITELISTED_VENDORS', ''), 'ingest_events_without_occurrence' => env('LARITOR_INGEST_EVENTS_WITHOUT_OCCURRENCE', false), diff --git a/src/Recorders/RequestRecorder.php b/src/Recorders/RequestRecorder.php index 4479265..1761a31 100644 --- a/src/Recorders/RequestRecorder.php +++ b/src/Recorders/RequestRecorder.php @@ -42,6 +42,18 @@ public function trackEvent($event) $duration = $this->laritor->getDurationFromStart(); + $session = [ + 'id' => null, + 'name' => null, + 'data' => [] + ]; + + if ($request->hasSession()) { + $session['id'] = $request->session()->getId(); + $session['name'] = $request->session()->getName(); + $session['data'] = config('laritor.session.data') ? $request->session()->all() : []; + } + /** @phpstan-ignore-next-line */ $controller = $request->route() ? explode('@', optional($request->route())->getActionName()) : []; $this->laritor->pushEvent(static::$eventType, [ @@ -61,6 +73,7 @@ public function trackEvent($event) 'headers' => $this->getResponseHeaders($response), 'body' => $this->getResponseBody($response), ], + 'session' => $session, 'user' => [ 'authenticated' => $this->getAuthenticatedUser(), 'ip' => DataHelper::redactIPAddress($request->getClientIp()),