dispatch(['products']); } public function revalidateDocs(): void { $this->dispatch(['docs']); } private function dispatch(array $tags): void { $url = rtrim(config('services.nextjs.url'), '/') . '/api/revalidate'; $secret = config('services.nextjs.revalidate_secret'); if (!$url || !$secret) { return; } try { Http::withHeaders(['x-revalidate-secret' => $secret]) ->timeout(5) ->post($url, ['tags' => $tags]); } catch (\Throwable $e) { Log::warning('Next.js revalidation failed: ' . $e->getMessage()); } } }