aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client')
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php272
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AwsClientInterface.php118
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php467
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/DefaultClient.php67
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ExpiredCredentialsChecker.php80
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ThrottlingErrorChecker.php75
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UploadBodyListener.php95
-rw-r--r--apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UserAgentListener.php61
8 files changed, 0 insertions, 1235 deletions
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
deleted file mode 100644
index c9ee86a66ff..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AbstractClient.php
+++ /dev/null
@@ -1,272 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Aws;
-use Aws\Common\Credentials\CredentialsInterface;
-use Aws\Common\Credentials\NullCredentials;
-use Aws\Common\Enum\ClientOptions as Options;
-use Aws\Common\Exception\InvalidArgumentException;
-use Aws\Common\Exception\TransferException;
-use Aws\Common\Signature\EndpointSignatureInterface;
-use Aws\Common\Signature\SignatureInterface;
-use Aws\Common\Signature\SignatureListener;
-use Aws\Common\Waiter\WaiterClassFactory;
-use Aws\Common\Waiter\CompositeWaiterFactory;
-use Aws\Common\Waiter\WaiterFactoryInterface;
-use Aws\Common\Waiter\WaiterConfigFactory;
-use Guzzle\Common\Collection;
-use Guzzle\Http\Exception\CurlException;
-use Guzzle\Service\Client;
-use Guzzle\Service\Description\ServiceDescriptionInterface;
-
-/**
- * Abstract AWS client
- */
-abstract class AbstractClient extends Client implements AwsClientInterface
-{
- /**
- * @var CredentialsInterface AWS credentials
- */
- protected $credentials;
-
- /**
- * @var SignatureInterface Signature implementation of the service
- */
- protected $signature;
-
- /**
- * @var WaiterFactoryInterface Factory used to create waiter classes
- */
- protected $waiterFactory;
-
- /**
- * {@inheritdoc}
- */
- public static function getAllEvents()
- {
- return array_merge(Client::getAllEvents(), array(
- 'client.region_changed',
- 'client.credentials_changed',
- ));
- }
-
- /**
- * @param CredentialsInterface $credentials AWS credentials
- * @param SignatureInterface $signature Signature implementation
- * @param Collection $config Configuration options
- *
- * @throws InvalidArgumentException if an endpoint provider isn't provided
- */
- public function __construct(CredentialsInterface $credentials, SignatureInterface $signature, Collection $config)
- {
- // Bootstrap with Guzzle
- parent::__construct($config->get(Options::BASE_URL), $config);
- $this->credentials = $credentials;
- $this->signature = $signature;
-
- // Make sure the user agent is prefixed by the SDK version
- $this->setUserAgent('aws-sdk-php2/' . Aws::VERSION, true);
-
- // Add the event listener so that requests are signed before they are sent
- $dispatcher = $this->getEventDispatcher();
- if (!$credentials instanceof NullCredentials) {
- $dispatcher->addSubscriber(new SignatureListener($credentials, $signature));
- }
-
- if ($backoff = $config->get(Options::BACKOFF)) {
- $dispatcher->addSubscriber($backoff, -255);
- }
- }
-
- public function __call($method, $args)
- {
- if (substr($method, 0, 3) === 'get' && substr($method, -8) === 'Iterator') {
- // Allow magic method calls for iterators (e.g. $client->get<CommandName>Iterator($params))
- $commandOptions = isset($args[0]) ? $args[0] : null;
- $iteratorOptions = isset($args[1]) ? $args[1] : array();
- return $this->getIterator(substr($method, 3, -8), $commandOptions, $iteratorOptions);
- } elseif (substr($method, 0, 9) == 'waitUntil') {
- // Allow magic method calls for waiters (e.g. $client->waitUntil<WaiterName>($params))
- return $this->waitUntil(substr($method, 9), isset($args[0]) ? $args[0]: array());
- } else {
- return parent::__call(ucfirst($method), $args);
- }
- }
-
- /**
- * Get an endpoint for a specific region from a service description
- * @deprecated This function will no longer be updated to work with new regions.
- */
- public static function getEndpoint(ServiceDescriptionInterface $description, $region, $scheme)
- {
- $service = $description->getData('serviceFullName');
- // Lookup the region in the service description
- if (!($regions = $description->getData('regions'))) {
- throw new InvalidArgumentException("No regions found in the {$service} description");
- }
- // Ensure that the region exists for the service
- if (!isset($regions[$region])) {
- throw new InvalidArgumentException("{$region} is not a valid region for {$service}");
- }
- // Ensure that the scheme is valid
- if ($regions[$region][$scheme] == false) {
- throw new InvalidArgumentException("{$scheme} is not a valid URI scheme for {$service} in {$region}");
- }
-
- return $scheme . '://' . $regions[$region]['hostname'];
- }
-
- public function getCredentials()
- {
- return $this->credentials;
- }
-
- public function setCredentials(CredentialsInterface $credentials)
- {
- $formerCredentials = $this->credentials;
- $this->credentials = $credentials;
-
- // Dispatch an event that the credentials have been changed
- $this->dispatch('client.credentials_changed', array(
- 'credentials' => $credentials,
- 'former_credentials' => $formerCredentials,
- ));
-
- return $this;
- }
-
- public function getSignature()
- {
- return $this->signature;
- }
-
- public function getRegions()
- {
- return $this->serviceDescription->getData('regions');
- }
-
- public function getRegion()
- {
- return $this->getConfig(Options::REGION);
- }
-
- public function setRegion($region)
- {
- $config = $this->getConfig();
- $formerRegion = $config->get(Options::REGION);
- $global = $this->serviceDescription->getData('globalEndpoint');
- $provider = $config->get('endpoint_provider');
-
- if (!$provider) {
- throw new \RuntimeException('No endpoint provider configured');
- }
-
- // Only change the region if the service does not have a global endpoint
- if (!$global || $this->serviceDescription->getData('namespace') === 'S3') {
-
- $endpoint = call_user_func(
- $provider,
- array(
- 'scheme' => $config->get(Options::SCHEME),
- 'region' => $region,
- 'service' => $config->get(Options::SERVICE)
- )
- );
-
- $this->setBaseUrl($endpoint['endpoint']);
- $config->set(Options::BASE_URL, $endpoint['endpoint']);
- $config->set(Options::REGION, $region);
-
- // Update the signature if necessary
- $signature = $this->getSignature();
- if ($signature instanceof EndpointSignatureInterface) {
- /** @var $signature EndpointSignatureInterface */
- $signature->setRegionName($region);
- }
-
- // Dispatch an event that the region has been changed
- $this->dispatch('client.region_changed', array(
- 'region' => $region,
- 'former_region' => $formerRegion,
- ));
- }
-
- return $this;
- }
-
- public function waitUntil($waiter, array $input = array())
- {
- $this->getWaiter($waiter, $input)->wait();
-
- return $this;
- }
-
- public function getWaiter($waiter, array $input = array())
- {
- return $this->getWaiterFactory()->build($waiter)
- ->setClient($this)
- ->setConfig($input);
- }
-
- public function setWaiterFactory(WaiterFactoryInterface $waiterFactory)
- {
- $this->waiterFactory = $waiterFactory;
-
- return $this;
- }
-
- public function getWaiterFactory()
- {
- if (!$this->waiterFactory) {
- $clientClass = get_class($this);
- // Use a composite factory that checks for classes first, then config waiters
- $this->waiterFactory = new CompositeWaiterFactory(array(
- new WaiterClassFactory(substr($clientClass, 0, strrpos($clientClass, '\\')) . '\\Waiter')
- ));
- if ($this->getDescription()) {
- $waiterConfig = $this->getDescription()->getData('waiters') ?: array();
- $this->waiterFactory->addFactory(new WaiterConfigFactory($waiterConfig));
- }
- }
-
- return $this->waiterFactory;
- }
-
- public function getApiVersion()
- {
- return $this->serviceDescription->getApiVersion();
- }
-
- /**
- * {@inheritdoc}
- * @throws \Aws\Common\Exception\TransferException
- */
- public function send($requests)
- {
- try {
- return parent::send($requests);
- } catch (CurlException $e) {
- $wrapped = new TransferException($e->getMessage(), null, $e);
- $wrapped->setCurlHandle($e->getCurlHandle())
- ->setCurlInfo($e->getCurlInfo())
- ->setError($e->getError(), $e->getErrorNo())
- ->setRequest($e->getRequest());
- throw $wrapped;
- }
- }
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AwsClientInterface.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AwsClientInterface.php
deleted file mode 100644
index 4c0579f64ad..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/AwsClientInterface.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Credentials\CredentialsInterface;
-use Aws\Common\Signature\SignatureInterface;
-use Aws\Common\Waiter\WaiterFactoryInterface;
-use Aws\Common\Waiter\WaiterInterface;
-use Guzzle\Service\ClientInterface;
-
-/**
- * Interface that all AWS clients implement
- */
-interface AwsClientInterface extends ClientInterface
-{
- /**
- * Returns the AWS credentials associated with the client
- *
- * @return CredentialsInterface
- */
- public function getCredentials();
-
- /**
- * Sets the credentials object associated with the client
- *
- * @param CredentialsInterface $credentials Credentials object to use
- *
- * @return self
- */
- public function setCredentials(CredentialsInterface $credentials);
-
- /**
- * Returns the signature implementation used with the client
- *
- * @return SignatureInterface
- */
- public function getSignature();
-
- /**
- * Get a list of available regions and region data
- *
- * @return array
- */
- public function getRegions();
-
- /**
- * Get the name of the region to which the client is configured to send requests
- *
- * @return string
- */
- public function getRegion();
-
- /**
- * Change the region to which the client is configured to send requests
- *
- * @param string $region Name of the region
- *
- * @return self
- */
- public function setRegion($region);
-
- /**
- * Get the waiter factory being used by the client
- *
- * @return WaiterFactoryInterface
- */
- public function getWaiterFactory();
-
- /**
- * Set the waiter factory to use with the client
- *
- * @param WaiterFactoryInterface $waiterFactory Factory used to create waiters
- *
- * @return self
- */
- public function setWaiterFactory(WaiterFactoryInterface $waiterFactory);
-
- /**
- * Wait until a resource is available or an associated waiter returns true
- *
- * @param string $waiter Name of the waiter
- * @param array $input Values used as input for the underlying operation and to control the waiter
- *
- * @return self
- */
- public function waitUntil($waiter, array $input = array());
-
- /**
- * Get a named waiter object
- *
- * @param string $waiter Name of the waiter
- * @param array $input Values used as input for the underlying operation and to control the waiter
- *
- * @return WaiterInterface
- */
- public function getWaiter($waiter, array $input = array());
-
- /**
- * Get the API version of the client (e.g. 2006-03-01)
- *
- * @return string
- */
- public function getApiVersion();
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php
deleted file mode 100644
index b34a67ffd92..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ClientBuilder.php
+++ /dev/null
@@ -1,467 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Credentials\Credentials;
-use Aws\Common\Credentials\CredentialsInterface;
-use Aws\Common\Credentials\NullCredentials;
-use Aws\Common\Enum\ClientOptions as Options;
-use Aws\Common\Exception\ExceptionListener;
-use Aws\Common\Exception\InvalidArgumentException;
-use Aws\Common\Exception\NamespaceExceptionFactory;
-use Aws\Common\Exception\Parser\DefaultXmlExceptionParser;
-use Aws\Common\Exception\Parser\ExceptionParserInterface;
-use Aws\Common\Iterator\AwsResourceIteratorFactory;
-use Aws\Common\RulesEndpointProvider;
-use Aws\Common\Signature\EndpointSignatureInterface;
-use Aws\Common\Signature\SignatureInterface;
-use Aws\Common\Signature\SignatureV2;
-use Aws\Common\Signature\SignatureV3Https;
-use Aws\Common\Signature\SignatureV4;
-use Guzzle\Common\Collection;
-use Guzzle\Plugin\Backoff\BackoffPlugin;
-use Guzzle\Plugin\Backoff\CurlBackoffStrategy;
-use Guzzle\Plugin\Backoff\ExponentialBackoffStrategy;
-use Guzzle\Plugin\Backoff\HttpBackoffStrategy;
-use Guzzle\Plugin\Backoff\TruncatedBackoffStrategy;
-use Guzzle\Service\Description\ServiceDescription;
-use Guzzle\Service\Resource\ResourceIteratorClassFactory;
-use Guzzle\Log\LogAdapterInterface;
-use Guzzle\Log\ClosureLogAdapter;
-use Guzzle\Plugin\Backoff\BackoffLogger;
-
-/**
- * Builder for creating AWS service clients
- */
-class ClientBuilder
-{
- /**
- * @var array Default client config
- */
- protected static $commonConfigDefaults = array('scheme' => 'https');
-
- /**
- * @var array Default client requirements
- */
- protected static $commonConfigRequirements = array(Options::SERVICE_DESCRIPTION);
-
- /**
- * @var string The namespace of the client
- */
- protected $clientNamespace;
-
- /**
- * @var array The config options
- */
- protected $config = array();
-
- /**
- * @var array The config defaults
- */
- protected $configDefaults = array();
-
- /**
- * @var array The config requirements
- */
- protected $configRequirements = array();
-
- /**
- * @var ExceptionParserInterface The Parser interface for the client
- */
- protected $exceptionParser;
-
- /**
- * @var array Array of configuration data for iterators available for the client
- */
- protected $iteratorsConfig = array();
-
- /**
- * Factory method for creating the client builder
- *
- * @param string $namespace The namespace of the client
- *
- * @return ClientBuilder
- */
- public static function factory($namespace = null)
- {
- return new static($namespace);
- }
-
- /**
- * Constructs a client builder
- *
- * @param string $namespace The namespace of the client
- */
- public function __construct($namespace = null)
- {
- $this->clientNamespace = $namespace;
- }
-
- /**
- * Sets the config options
- *
- * @param array|Collection $config The config options
- *
- * @return ClientBuilder
- */
- public function setConfig($config)
- {
- $this->config = $this->processArray($config);
-
- return $this;
- }
-
- /**
- * Sets the config options' defaults
- *
- * @param array|Collection $defaults The default values
- *
- * @return ClientBuilder
- */
- public function setConfigDefaults($defaults)
- {
- $this->configDefaults = $this->processArray($defaults);
-
- return $this;
- }
-
- /**
- * Sets the required config options
- *
- * @param array|Collection $required The required config options
- *
- * @return ClientBuilder
- */
- public function setConfigRequirements($required)
- {
- $this->configRequirements = $this->processArray($required);
-
- return $this;
- }
-
- /**
- * Sets the exception parser. If one is not provided the builder will use
- * the default XML exception parser.
- *
- * @param ExceptionParserInterface $parser The exception parser
- *
- * @return ClientBuilder
- */
- public function setExceptionParser(ExceptionParserInterface $parser)
- {
- $this->exceptionParser = $parser;
-
- return $this;
- }
-
- /**
- * Set the configuration for the client's iterators
- *
- * @param array $config Configuration data for client's iterators
- *
- * @return ClientBuilder
- */
- public function setIteratorsConfig(array $config)
- {
- $this->iteratorsConfig = $config;
-
- return $this;
- }
-
- /**
- * Performs the building logic using all of the parameters that have been
- * set and falling back to default values. Returns an instantiate service
- * client with credentials prepared and plugins attached.
- *
- * @return AwsClientInterface
- * @throws InvalidArgumentException
- */
- public function build()
- {
- // Resolve configuration
- $config = Collection::fromConfig(
- $this->config,
- array_merge(self::$commonConfigDefaults, $this->configDefaults),
- (self::$commonConfigRequirements + $this->configRequirements)
- );
-
- if (!isset($config['endpoint_provider'])) {
- $config['endpoint_provider'] = RulesEndpointProvider::fromDefaults();
- }
-
- // Resolve the endpoint, signature, and credentials
- $description = $this->updateConfigFromDescription($config);
- $signature = $this->getSignature($description, $config);
- $credentials = $this->getCredentials($config);
-
- // Resolve exception parser
- if (!$this->exceptionParser) {
- $this->exceptionParser = new DefaultXmlExceptionParser();
- }
-
- // Resolve backoff strategy
- $backoff = $config->get(Options::BACKOFF);
- if ($backoff === null) {
- $backoff = new BackoffPlugin(
- // Retry failed requests up to 3 times if it is determined that the request can be retried
- new TruncatedBackoffStrategy(3,
- // Retry failed requests with 400-level responses due to throttling
- new ThrottlingErrorChecker($this->exceptionParser,
- // Retry failed requests due to transient network or cURL problems
- new CurlBackoffStrategy(null,
- // Retry failed requests with 500-level responses
- new HttpBackoffStrategy(array(500, 503, 509),
- // Retry requests that failed due to expired credentials
- new ExpiredCredentialsChecker($this->exceptionParser,
- new ExponentialBackoffStrategy()
- )
- )
- )
- )
- )
- );
- $config->set(Options::BACKOFF, $backoff);
- }
-
- if ($backoff) {
- $this->addBackoffLogger($backoff, $config);
- }
-
- // Determine service and class name
- $clientClass = 'Aws\Common\Client\DefaultClient';
- if ($this->clientNamespace) {
- $serviceName = substr($this->clientNamespace, strrpos($this->clientNamespace, '\\') + 1);
- $clientClass = $this->clientNamespace . '\\' . $serviceName . 'Client';
- }
-
- /** @var $client AwsClientInterface */
- $client = new $clientClass($credentials, $signature, $config);
- $client->setDescription($description);
-
- // Add exception marshaling so that more descriptive exception are thrown
- if ($this->clientNamespace) {
- $exceptionFactory = new NamespaceExceptionFactory(
- $this->exceptionParser,
- "{$this->clientNamespace}\\Exception",
- "{$this->clientNamespace}\\Exception\\{$serviceName}Exception"
- );
- $client->addSubscriber(new ExceptionListener($exceptionFactory));
- }
-
- // Add the UserAgentPlugin to append to the User-Agent header of requests
- $client->addSubscriber(new UserAgentListener());
-
- // Filters used for the cache plugin
- $client->getConfig()->set(
- 'params.cache.key_filter',
- 'header=date,x-amz-date,x-amz-security-token,x-amzn-authorization'
- );
-
- // Set the iterator resource factory based on the provided iterators config
- $client->setResourceIteratorFactory(new AwsResourceIteratorFactory(
- $this->iteratorsConfig,
- new ResourceIteratorClassFactory($this->clientNamespace . '\\Iterator')
- ));
-
- // Disable parameter validation if needed
- if ($config->get(Options::VALIDATION) === false) {
- $params = $config->get('command.params') ?: array();
- $params['command.disable_validation'] = true;
- $config->set('command.params', $params);
- }
-
- return $client;
- }
-
- /**
- * Add backoff logging to the backoff plugin if needed
- *
- * @param BackoffPlugin $plugin Backoff plugin
- * @param Collection $config Configuration settings
- *
- * @throws InvalidArgumentException
- */
- protected function addBackoffLogger(BackoffPlugin $plugin, Collection $config)
- {
- // The log option can be set to `debug` or an instance of a LogAdapterInterface
- if ($logger = $config->get(Options::BACKOFF_LOGGER)) {
- $format = $config->get(Options::BACKOFF_LOGGER_TEMPLATE);
- if ($logger === 'debug') {
- $logger = new ClosureLogAdapter(function ($message) {
- trigger_error($message . "\n");
- });
- } elseif (!($logger instanceof LogAdapterInterface)) {
- throw new InvalidArgumentException(
- Options::BACKOFF_LOGGER . ' must be set to `debug` or an instance of '
- . 'Guzzle\\Common\\Log\\LogAdapterInterface'
- );
- }
- // Create the plugin responsible for logging exponential backoff retries
- $logPlugin = new BackoffLogger($logger);
- // You can specify a custom format or use the default
- if ($format) {
- $logPlugin->setTemplate($format);
- }
- $plugin->addSubscriber($logPlugin);
- }
- }
-
- /**
- * Ensures that an array (e.g. for config data) is actually in array form
- *
- * @param array|Collection $array The array data
- *
- * @return array
- * @throws InvalidArgumentException if the arg is not an array or Collection
- */
- protected function processArray($array)
- {
- if ($array instanceof Collection) {
- $array = $array->getAll();
- }
-
- if (!is_array($array)) {
- throw new InvalidArgumentException('The config must be provided as an array or Collection.');
- }
-
- return $array;
- }
-
- /**
- * Update a configuration object from a service description
- *
- * @param Collection $config Config to update
- *
- * @return ServiceDescription
- * @throws InvalidArgumentException
- */
- protected function updateConfigFromDescription(Collection $config)
- {
- $description = $config->get(Options::SERVICE_DESCRIPTION);
- if (!($description instanceof ServiceDescription)) {
- // Inject the version into the sprintf template if it is a string
- if (is_string($description)) {
- $description = sprintf($description, $config->get(Options::VERSION));
- }
- $description = ServiceDescription::factory($description);
- $config->set(Options::SERVICE_DESCRIPTION, $description);
- }
-
- if (!$config->get(Options::SERVICE)) {
- $config->set(Options::SERVICE, $description->getData('endpointPrefix'));
- }
-
- if ($iterators = $description->getData('iterators')) {
- $this->setIteratorsConfig($iterators);
- }
-
- // Make sure a valid region is set
- $region = $config->get(Options::REGION);
- $global = $description->getData('globalEndpoint');
-
- if (!$global && !$region) {
- throw new InvalidArgumentException(
- 'A region is required when using ' . $description->getData('serviceFullName')
- );
- } elseif ($global && (!$region || $description->getData('namespace') !== 'S3')) {
- $region = 'us-east-1';
- $config->set(Options::REGION, 'us-east-1');
- }
-
- if (!$config->get(Options::BASE_URL)) {
- $endpoint = call_user_func(
- $config->get('endpoint_provider'),
- array(
- 'scheme' => $config->get(Options::SCHEME),
- 'region' => $region,
- 'service' => $config->get(Options::SERVICE)
- )
- );
- $config->set(Options::BASE_URL, $endpoint['endpoint']);
-
- // Set a signature if one was not explicitly provided.
- if (!$config->hasKey(Options::SIGNATURE)
- && isset($endpoint['signatureVersion'])
- ) {
- $config->set(Options::SIGNATURE, $endpoint['signatureVersion']);
- }
- }
-
- return $description;
- }
-
- /**
- * Return an appropriate signature object for a a client based on the
- * "signature" configuration setting, or the default signature specified in
- * a service description. The signature can be set to a valid signature
- * version identifier string or an instance of Aws\Common\Signature\SignatureInterface.
- *
- * @param ServiceDescription $description Description that holds a signature option
- * @param Collection $config Configuration options
- *
- * @return SignatureInterface
- * @throws InvalidArgumentException
- */
- protected function getSignature(ServiceDescription $description, Collection $config)
- {
- // If a custom signature has not been provided, then use the default
- // signature setting specified in the service description.
- $signature = $config->get(Options::SIGNATURE) ?: $description->getData('signatureVersion');
-
- if (is_string($signature)) {
- if ($signature == 'v4') {
- $signature = new SignatureV4();
- } elseif ($signature == 'v2') {
- $signature = new SignatureV2();
- } elseif ($signature == 'v3https') {
- $signature = new SignatureV3Https();
- } else {
- throw new InvalidArgumentException("Invalid signature type: {$signature}");
- }
- } elseif (!($signature instanceof SignatureInterface)) {
- throw new InvalidArgumentException('The provided signature is not '
- . 'a signature version string or an instance of '
- . 'Aws\\Common\\Signature\\SignatureInterface');
- }
-
- // Allow a custom service name or region value to be provided
- if ($signature instanceof EndpointSignatureInterface) {
-
- // Determine the service name to use when signing
- $signature->setServiceName($config->get(Options::SIGNATURE_SERVICE)
- ?: $description->getData('signingName')
- ?: $description->getData('endpointPrefix'));
-
- // Determine the region to use when signing requests
- $signature->setRegionName($config->get(Options::SIGNATURE_REGION) ?: $config->get(Options::REGION));
- }
-
- return $signature;
- }
-
- protected function getCredentials(Collection $config)
- {
- $credentials = $config->get(Options::CREDENTIALS);
- if ($credentials === false) {
- $credentials = new NullCredentials();
- } elseif (!$credentials instanceof CredentialsInterface) {
- $credentials = Credentials::factory($config);
- }
-
- return $credentials;
- }
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/DefaultClient.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/DefaultClient.php
deleted file mode 100644
index 1dc276d3ccb..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/DefaultClient.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Enum\ClientOptions as Options;
-use Guzzle\Common\Collection;
-
-/**
- * Generic client for interacting with an AWS service
- */
-class DefaultClient extends AbstractClient
-{
- /**
- * Factory method to create a default client using an array of configuration options.
- *
- * The following array keys and values are available options:
- *
- * Credential options ((`key`, `secret`, and optional `token`) OR `credentials` is required):
- *
- * - key: AWS Access Key ID
- * - secret: AWS secret access key
- * - credentials: You can optionally provide a custom `Aws\Common\Credentials\CredentialsInterface` object
- * - token: Custom AWS security token to use with request authentication. Please note that not all services accept temporary credentials. See http://docs.aws.amazon.com/STS/latest/UsingSTS/UsingTokens.html
- * - token.ttd: UNIX timestamp for when the custom credentials expire
- * - credentials.cache.key: Optional custom cache key to use with the credentials
- * - credentials.client: Pass this option to specify a custom `Guzzle\Http\ClientInterface` to use if your credentials require a HTTP request (e.g. RefreshableInstanceProfileCredentials)
- *
- * Region and endpoint options (Some services do not require a region while others do. Check the service specific user guide documentation for details):
- *
- * - region: Region name (e.g. 'us-east-1', 'us-west-1', 'us-west-2', 'eu-west-1', etc...)
- * - scheme: URI Scheme of the base URL (e.g. 'https', 'http') used when base_url is not supplied
- * - base_url: Allows you to specify a custom endpoint instead of building one from the region and scheme
- *
- * Generic client options:
- *
- * - signature: Overrides the signature used by the client. Clients will always choose an appropriate default signature. However, it can be useful to override this with a custom setting. This can be set to "v4", "v3https", "v2" or an instance of Aws\Common\Signature\SignatureInterface.
- * - ssl.certificate_authority: Set to true to use the bundled CA cert or pass the full path to an SSL certificate bundle
- * - curl.options: Associative of CURLOPT_* cURL options to add to each request
- * - client.backoff.logger: `Guzzle\Log\LogAdapterInterface` object used to log backoff retries. Use 'debug' to emit PHP warnings when a retry is issued.
- * - client.backoff.logger.template: Optional template to use for exponential backoff log messages. See `Guzzle\Plugin\Backoff\BackoffLogger` for formatting information.
- *
- * @param array|Collection $config Client configuration data
- *
- * @return self
- */
- public static function factory($config = array())
- {
- return ClientBuilder::factory()
- ->setConfig($config)
- ->setConfigDefaults(array(Options::SCHEME => 'https'))
- ->build();
- }
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ExpiredCredentialsChecker.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ExpiredCredentialsChecker.php
deleted file mode 100644
index d20f7f829d1..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ExpiredCredentialsChecker.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Credentials\AbstractRefreshableCredentials;
-use Aws\Common\Client\AwsClientInterface;
-use Aws\Common\Exception\Parser\ExceptionParserInterface;
-use Guzzle\Http\Exception\HttpException;
-use Guzzle\Http\Message\RequestInterface;
-use Guzzle\Http\Message\Response;
-use Guzzle\Plugin\Backoff\BackoffStrategyInterface;
-use Guzzle\Plugin\Backoff\AbstractBackoffStrategy;
-
-/**
- * Backoff logic that handles retrying requests when credentials expire
- */
-class ExpiredCredentialsChecker extends AbstractBackoffStrategy
-{
- /**
- * @var array Array of known retrying exception codes
- */
- protected $retryable = array(
- 'RequestExpired' => true,
- 'ExpiredTokenException' => true,
- 'ExpiredToken' => true
- );
-
- /**
- * @var ExceptionParserInterface Exception parser used to parse exception responses
- */
- protected $exceptionParser;
-
- public function __construct(ExceptionParserInterface $exceptionParser, BackoffStrategyInterface $next = null) {
- $this->exceptionParser = $exceptionParser;
- $this->next = $next;
- }
-
- public function makesDecision()
- {
- return true;
- }
-
- protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null)
- {
- if ($response && $response->isClientError()) {
-
- $parts = $this->exceptionParser->parse($request, $response);
- if (!isset($this->retryable[$parts['code']]) || !$request->getClient()) {
- return null;
- }
-
- /** @var $client AwsClientInterface */
- $client = $request->getClient();
- // Only retry if the credentials can be refreshed
- if (!($client->getCredentials() instanceof AbstractRefreshableCredentials)) {
- return null;
- }
-
- // Resign the request using new credentials
- $client->getSignature()->signRequest($request, $client->getCredentials()->setExpiration(-1));
-
- // Retry immediately with no delay
- return 0;
- }
- }
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ThrottlingErrorChecker.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ThrottlingErrorChecker.php
deleted file mode 100644
index a35cbcb157c..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/ThrottlingErrorChecker.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Exception\Parser\ExceptionParserInterface;
-use Guzzle\Http\Exception\HttpException;
-use Guzzle\Http\Message\RequestInterface;
-use Guzzle\Http\Message\Response;
-use Guzzle\Plugin\Backoff\BackoffStrategyInterface;
-use Guzzle\Plugin\Backoff\AbstractBackoffStrategy;
-
-/**
- * Backoff logic that handles throttling exceptions from services
- */
-class ThrottlingErrorChecker extends AbstractBackoffStrategy
-{
- /** @var array Whitelist of exception codes (as indexes) that indicate throttling */
- protected static $throttlingExceptions = array(
- 'RequestLimitExceeded' => true,
- 'Throttling' => true,
- 'ThrottlingException' => true,
- 'ProvisionedThroughputExceededException' => true,
- 'RequestThrottled' => true,
- );
-
- /**
- * @var ExceptionParserInterface Exception parser used to parse exception responses
- */
- protected $exceptionParser;
-
- public function __construct(ExceptionParserInterface $exceptionParser, BackoffStrategyInterface $next = null)
- {
- $this->exceptionParser = $exceptionParser;
- if ($next) {
- $this->setNext($next);
- }
- }
-
- /**
- * {@inheritdoc}
- */
- public function makesDecision()
- {
- return true;
- }
-
- /**
- * {@inheritdoc}
- */
- protected function getDelay(
- $retries,
- RequestInterface $request,
- Response $response = null,
- HttpException $e = null
- ) {
- if ($response && $response->isClientError()) {
- $parts = $this->exceptionParser->parse($request, $response);
- return isset(self::$throttlingExceptions[$parts['code']]) ? true : null;
- }
- }
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UploadBodyListener.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UploadBodyListener.php
deleted file mode 100644
index a99d2fa910c..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UploadBodyListener.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Aws\Common\Exception\InvalidArgumentException;
-use Guzzle\Common\Event;
-use Guzzle\Http\EntityBody;
-use Guzzle\Service\Command\AbstractCommand as Command;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * Prepares the body parameter of a command such that the parameter is more flexible (e.g. accepts file handles) with
- * the value it accepts but converts it to the correct format for the command. Also looks for a "Filename" parameter.
- */
-class UploadBodyListener implements EventSubscriberInterface
-{
- /**
- * @var array The names of the commands of which to modify the body parameter
- */
- protected $commands;
-
- /**
- * @var string The key for the upload body parameter
- */
- protected $bodyParameter;
-
- /**
- * @var string The key for the source file parameter
- */
- protected $sourceParameter;
-
- /**
- * @param array $commands The commands to modify
- * @param string $bodyParameter The key for the body parameter
- * @param string $sourceParameter The key for the source file parameter
- */
- public function __construct(array $commands, $bodyParameter = 'Body', $sourceParameter = 'SourceFile')
- {
- $this->commands = $commands;
- $this->bodyParameter = (string) $bodyParameter;
- $this->sourceParameter = (string) $sourceParameter;
- }
-
- /**
- * {@inheritdoc}
- */
- public static function getSubscribedEvents()
- {
- return array('command.before_prepare' => array('onCommandBeforePrepare'));
- }
-
- /**
- * Converts filenames and file handles into EntityBody objects before the command is validated
- *
- * @param Event $event Event emitted
- * @throws InvalidArgumentException
- */
- public function onCommandBeforePrepare(Event $event)
- {
- /** @var $command Command */
- $command = $event['command'];
- if (in_array($command->getName(), $this->commands)) {
- // Get the interesting parameters
- $source = $command->get($this->sourceParameter);
- $body = $command->get($this->bodyParameter);
-
- // If a file path is passed in then get the file handle
- if (is_string($source) && file_exists($source)) {
- $body = fopen($source, 'r');
- }
-
- // Prepare the body parameter and remove the source file parameter
- if (null !== $body) {
- $command->remove($this->sourceParameter);
- $command->set($this->bodyParameter, EntityBody::factory($body));
- } else {
- throw new InvalidArgumentException("You must specify a non-null value for the {$this->bodyParameter} or {$this->sourceParameter} parameters.");
- }
- }
- }
-}
diff --git a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UserAgentListener.php b/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UserAgentListener.php
deleted file mode 100644
index cc7e312c064..00000000000
--- a/apps/files_external/3rdparty/aws-sdk-php/Aws/Common/Client/UserAgentListener.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-/**
- * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License").
- * You may not use this file except in compliance with the License.
- * A copy of the License is located at
- *
- * http://aws.amazon.com/apache2.0
- *
- * or in the "license" file accompanying this file. This file is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
- * express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-namespace Aws\Common\Client;
-
-use Guzzle\Common\Event;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * Listener used to append strings to the User-Agent header of a request based
- * on the `ua.append` option. `ua.append` can contain a string or array of values.
- */
-class UserAgentListener implements EventSubscriberInterface
-{
- /**
- * @var string Option used to store User-Agent modifiers
- */
- const OPTION = 'ua.append';
-
- /**
- * {@inheritdoc}
- */
- public static function getSubscribedEvents()
- {
- return array('command.before_send' => 'onBeforeSend');
- }
-
- /**
- * Adds strings to the User-Agent header using the `ua.append` parameter of a command
- *
- * @param Event $event Event emitted
- */
- public function onBeforeSend(Event $event)
- {
- $command = $event['command'];
- if ($userAgentAppends = $command->get(self::OPTION)) {
- $request = $command->getRequest();
- $userAgent = (string) $request->getHeader('User-Agent');
- foreach ((array) $userAgentAppends as $append) {
- $append = ' ' . $append;
- if (strpos($userAgent, $append) === false) {
- $userAgent .= $append;
- }
- }
- $request->setHeader('User-Agent', $userAgent);
- }
- }
-}