attributes->get(PublicSearchMetrics::ATTRIBUTE); $request->attributes->remove(PublicSearchMetrics::ATTRIBUTE); $prefetch = str_contains(strtolower($request->header('Purpose', '').' '.$request->header('Sec-Purpose', '')), 'prefetch') || $request->header('X-Inertia-Prefetch') === 'true'; $privacySignal = $request->header('DNT') === '1' || $request->header('Sec-GPC') === '1'; if ($request->isMethod('GET') && $response->getStatusCode() === 200 && ! $prefetch && ! $privacySignal && is_array($candidate) && isset($candidate['channel'], $candidate['empty']) && is_string($candidate['channel']) && is_bool($candidate['empty'])) { app(PublicSearchMetrics::class)->record($candidate['channel'], $candidate['empty']); } return $response; } }