mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-08-20 13:23:47 -07:00
v2: Updates
* Simplifies & beautifies everything * Introduces a new Class system. * Errors are defaulted to AWS's handler. * New function names & more efficient handling. * Should fix a majority of the errors. Please read the README for more!
This commit is contained in:
parent
ad0726e41e
commit
e6d7753dc8
1095 changed files with 45088 additions and 2911 deletions
|
@ -43,6 +43,7 @@ class Service extends AbstractModel
|
|||
], $defaultMeta = [
|
||||
'apiVersion' => null,
|
||||
'serviceFullName' => null,
|
||||
'serviceId' => null,
|
||||
'endpointPrefix' => null,
|
||||
'signingName' => null,
|
||||
'signatureVersion' => null,
|
||||
|
@ -87,7 +88,9 @@ class Service extends AbstractModel
|
|||
|
||||
if (isset($mapping[$proto])) {
|
||||
return new $mapping[$proto]($api, $endpoint);
|
||||
} elseif ($proto == 'ec2') {
|
||||
}
|
||||
|
||||
if ($proto == 'ec2') {
|
||||
return new QuerySerializer($api, $endpoint, new Ec2ParamBuilder());
|
||||
}
|
||||
|
||||
|
@ -99,12 +102,14 @@ class Service extends AbstractModel
|
|||
/**
|
||||
* Creates an error parser for the given protocol.
|
||||
*
|
||||
* Redundant method signature to preserve backwards compatibility.
|
||||
*
|
||||
* @param string $protocol Protocol to parse (e.g., query, json, etc.)
|
||||
*
|
||||
* @return callable
|
||||
* @throws \UnexpectedValueException
|
||||
*/
|
||||
public static function createErrorParser($protocol)
|
||||
public static function createErrorParser($protocol, Service $api = null)
|
||||
{
|
||||
static $mapping = [
|
||||
'json' => 'Aws\Api\ErrorParser\JsonRpcErrorParser',
|
||||
|
@ -115,7 +120,7 @@ class Service extends AbstractModel
|
|||
];
|
||||
|
||||
if (isset($mapping[$protocol])) {
|
||||
return new $mapping[$protocol]();
|
||||
return new $mapping[$protocol]($api);
|
||||
}
|
||||
|
||||
throw new \UnexpectedValueException("Unknown protocol: $protocol");
|
||||
|
@ -140,7 +145,9 @@ class Service extends AbstractModel
|
|||
$proto = $api->getProtocol();
|
||||
if (isset($mapping[$proto])) {
|
||||
return new $mapping[$proto]($api);
|
||||
} elseif ($proto == 'ec2') {
|
||||
}
|
||||
|
||||
if ($proto == 'ec2') {
|
||||
return new QueryParser($api, null, false);
|
||||
}
|
||||
|
||||
|
@ -159,6 +166,16 @@ class Service extends AbstractModel
|
|||
return $this->definition['metadata']['serviceFullName'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the service id
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getServiceId()
|
||||
{
|
||||
return $this->definition['metadata']['serviceId'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the API version of the service
|
||||
*
|
||||
|
@ -282,6 +299,24 @@ class Service extends AbstractModel
|
|||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all of the error shapes of the service
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getErrorShapes()
|
||||
{
|
||||
$result = [];
|
||||
foreach ($this->definition['shapes'] as $name => $definition) {
|
||||
if (!empty($definition['exception'])) {
|
||||
$definition['name'] = $name;
|
||||
$result[] = new StructureShape($definition, $this->getShapeMap());
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all of the service metadata or a specific metadata key value.
|
||||
*
|
||||
|
@ -293,7 +328,9 @@ class Service extends AbstractModel
|
|||
{
|
||||
if (!$key) {
|
||||
return $this['metadata'];
|
||||
} elseif (isset($this->definition['metadata'][$key])) {
|
||||
}
|
||||
|
||||
if (isset($this->definition['metadata'][$key])) {
|
||||
return $this->definition['metadata'][$key];
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue