validateParameters($parameters); return $this->client->request(self::ACTION, [ 'apiuser' => (string) ($credentials['apiuser'] ?? ''), 'apipassword' => (string) ($credentials['apipassword'] ?? ''), 'sld' => $parameters['sld'], 'tld' => $parameters['tld'], ]); } public function validateParameters(array $parameters): array { $sld = mb_strtolower(trim((string) ($parameters['sld'] ?? ''))); $tld = mb_strtolower(trim((string) ($parameters['tld'] ?? ''))); if ($sld === '' || $tld === '') { throw new InvalidArgumentException('domain_inf requires both sld and tld parameters.'); } if (preg_match('/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/', $sld) !== 1) { throw new InvalidArgumentException('domain_inf parameter sld is invalid.'); } if (preg_match('/^[a-z0-9-]{2,63}(?:\.[a-z0-9-]{2,63})*$/', $tld) !== 1) { throw new InvalidArgumentException('domain_inf parameter tld is invalid.'); } return [ 'sld' => $sld, 'tld' => $tld, ]; } }