diff options
Diffstat (limited to 'apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/AwsQueryVisitor.php')
-rw-r--r-- | apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/AwsQueryVisitor.php | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/AwsQueryVisitor.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/AwsQueryVisitor.php deleted file mode 100644 index dceaafaafc1..00000000000 --- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Command/AwsQueryVisitor.php +++ /dev/null @@ -1,117 +0,0 @@ -<?php - -namespace Aws\Common\Command; - -use Guzzle\Http\Message\RequestInterface; -use Guzzle\Service\Description\Parameter; -use Guzzle\Service\Command\CommandInterface; -use Guzzle\Service\Command\LocationVisitor\Request\AbstractRequestVisitor; - -/** - * Location visitor used to serialize AWS query parameters (e.g. EC2, SES, SNS, SQS, etc) as POST fields - */ -class AwsQueryVisitor extends AbstractRequestVisitor -{ - private $fqname; - - public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value) - { - $this->fqname = $command->getName(); - $query = array(); - $this->customResolver($value, $param, $query, $param->getWireName()); - $request->addPostFields($query); - } - - /** - * Map nested parameters into the location_key based parameters - * - * @param array $value Value to map - * @param Parameter $param Parameter that holds information about the current key - * @param array $query Built up query string values - * @param string $prefix String to prepend to sub query values - */ - protected function customResolver($value, Parameter $param, array &$query, $prefix = '') - { - switch ($param->getType()) { - case 'object': - $this->resolveObject($param, $value, $prefix, $query); - break; - case 'array': - $this->resolveArray($param, $value, $prefix, $query); - break; - default: - $query[$prefix] = $param->filter($value); - } - } - - /** - * Custom handling for objects - * - * @param Parameter $param Parameter for the object - * @param array $value Value that is set for this parameter - * @param string $prefix Prefix for the resulting key - * @param array $query Query string array passed by reference - */ - protected function resolveObject(Parameter $param, array $value, $prefix, array &$query) - { - // Maps are implemented using additional properties - $hasAdditionalProperties = ($param->getAdditionalProperties() instanceof Parameter); - $additionalPropertyCount = 0; - - foreach ($value as $name => $v) { - if ($subParam = $param->getProperty($name)) { - // if the parameter was found by name as a regular property - $key = $prefix . '.' . $subParam->getWireName(); - $this->customResolver($v, $subParam, $query, $key); - } elseif ($hasAdditionalProperties) { - // Handle map cases like &Attribute.1.Name=<name>&Attribute.1.Value=<value> - $additionalPropertyCount++; - $data = $param->getData(); - $keyName = isset($data['keyName']) ? $data['keyName'] : 'key'; - $valueName = isset($data['valueName']) ? $data['valueName'] : 'value'; - $query["{$prefix}.{$additionalPropertyCount}.{$keyName}"] = $name; - $newPrefix = "{$prefix}.{$additionalPropertyCount}.{$valueName}"; - if (is_array($v)) { - $this->customResolver($v, $param->getAdditionalProperties(), $query, $newPrefix); - } else { - $query[$newPrefix] = $param->filter($v); - } - } - } - } - - /** - * Custom handling for arrays - * - * @param Parameter $param Parameter for the object - * @param array $value Value that is set for this parameter - * @param string $prefix Prefix for the resulting key - * @param array $query Query string array passed by reference - */ - protected function resolveArray(Parameter $param, array $value, $prefix, array &$query) - { - static $serializeEmpty = array( - 'SetLoadBalancerPoliciesForBackendServer' => 1, - 'SetLoadBalancerPoliciesOfListener' => 1, - 'UpdateStack' => 1 - ); - - // For BC, serialize empty lists for specific operations - if (!$value) { - if (isset($serializeEmpty[$this->fqname])) { - $query[$prefix] = ''; - } - return; - } - - $offset = $param->getData('offset') ?: 1; - foreach ($value as $index => $v) { - $index += $offset; - if (is_array($v) && $items = $param->getItems()) { - $this->customResolver($v, $items, $query, $prefix . '.' . $index); - } else { - $query[$prefix . '.' . $index] = $param->filter($v); - } - } - } -} |