status(), data: $data, ); } private static function parseResponseData(Response $response): mixed { $contentType = $response->header('Content-Type', ''); if (str_contains($contentType, 'application/json')) { return $response->json(); } $body = $response->body(); return $body !== '' ? $body : null; } private static function messageFromData(mixed $data): string { if (is_string($data)) { return $data; } if (! is_array($data)) { return ''; } foreach (['message', 'error'] as $key) { if (isset($data[$key]) && is_string($data[$key])) { return $data[$key]; } } $detail = $data['detail'] ?? null; if (is_string($detail)) { return $detail; } if (is_array($detail)) { foreach ($detail as $item) { if (! is_array($item)) { continue; } foreach (['msg', 'message'] as $key) { if (isset($item[$key]) && is_string($item[$key])) { return $item[$key]; } } } } return ''; } }