getContent(); $signature = $request->header('X-Tokenview-Signature'); if (! $monitor->verifySignature($raw, $signature)) { Log::warning('tokenview webhook bad signature'); return response('invalid signature', 401); } $payload = $request->json()->all(); if (! is_array($payload) || $payload === []) { $decoded = json_decode($raw, true); $payload = is_array($decoded) ? $decoded : []; } try { $monitor->handleWebhook($payload); } catch (\Throwable $e) { Log::warning('tokenview webhook handle failed: '.$e->getMessage()); } // Tokenview requires HTTP 200 + non-empty body. return response('ok', 200)->header('Content-Type', 'text/plain; charset=UTF-8'); } }