Add upstream
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace OpenCloud\Common;
|
||||
|
||||
class ArrayAccess implements \ArrayAccess
|
||||
{
|
||||
protected $elements;
|
||||
|
||||
public function __construct($data = array())
|
||||
{
|
||||
$this->elements = (array) $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a value to a particular offset.
|
||||
*
|
||||
* @param mixed $offset
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function offsetSet($offset, $value)
|
||||
{
|
||||
if ($offset === null) {
|
||||
$this->elements[] = $value;
|
||||
} else {
|
||||
$this->elements[$offset] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks to see whether a particular offset key exists.
|
||||
*
|
||||
* @param mixed $offset
|
||||
* @return bool
|
||||
*/
|
||||
public function offsetExists($offset)
|
||||
{
|
||||
return array_key_exists($offset, $this->elements);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unset a particular key.
|
||||
*
|
||||
* @param mixed $offset
|
||||
*/
|
||||
public function offsetUnset($offset)
|
||||
{
|
||||
unset($this->elements[$offset]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value for a particular offset key.
|
||||
*
|
||||
* @param mixed $offset
|
||||
* @return mixed|null
|
||||
*/
|
||||
public function offsetGet($offset)
|
||||
{
|
||||
return $this->offsetExists($offset) ? $this->elements[$offset] : null;
|
||||
}
|
||||
}
|
||||
430
wp-content/plugins/updraftplus/vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Base.php
vendored
Normal file
430
wp-content/plugins/updraftplus/vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Base.php
vendored
Normal file
@@ -0,0 +1,430 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common;
|
||||
|
||||
use OpenCloud\Common\Collection\ResourceIterator;
|
||||
use OpenCloud\Common\Constants\Header as HeaderConst;
|
||||
use OpenCloud\Common\Constants\Mime as MimeConst;
|
||||
use OpenCloud\Common\Exceptions\JsonError;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
/**
|
||||
* The root class for all other objects used or defined by this SDK.
|
||||
*
|
||||
* It contains common code for error handling as well as service functions that
|
||||
* are useful. Because it is an abstract class, it cannot be called directly,
|
||||
* and it has no publicly-visible properties.
|
||||
*/
|
||||
abstract class Base
|
||||
{
|
||||
/**
|
||||
* Holds all the properties added by overloading.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $properties = array();
|
||||
|
||||
/**
|
||||
* The logger instance
|
||||
*
|
||||
* @var LoggerInterface
|
||||
*/
|
||||
private $logger;
|
||||
|
||||
/**
|
||||
* The aliases configure for the properties of the instance.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $aliases = array();
|
||||
|
||||
/**
|
||||
* @return static
|
||||
*/
|
||||
public static function getInstance()
|
||||
{
|
||||
return new static();
|
||||
}
|
||||
|
||||
/**
|
||||
* Intercept non-existent method calls for dynamic getter/setter functionality.
|
||||
*
|
||||
* @param $method
|
||||
* @param $args
|
||||
* @throws Exceptions\RuntimeException
|
||||
*/
|
||||
public function __call($method, $args)
|
||||
{
|
||||
$prefix = substr($method, 0, 3);
|
||||
|
||||
// Get property - convert from camel case to underscore
|
||||
$property = lcfirst(substr($method, 3));
|
||||
|
||||
// Only do these methods on properties which exist
|
||||
if ($this->propertyExists($property) && $prefix == 'get') {
|
||||
return $this->getProperty($property);
|
||||
}
|
||||
|
||||
// Do setter
|
||||
if ($this->propertyExists($property) && $prefix == 'set') {
|
||||
return $this->setProperty($property, $args[0]);
|
||||
}
|
||||
|
||||
throw new Exceptions\RuntimeException(sprintf(
|
||||
'No method %s::%s()',
|
||||
get_class($this),
|
||||
$method
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* We can set a property under three conditions:
|
||||
*
|
||||
* 1. If it has a concrete setter: setProperty()
|
||||
* 2. If the property exists
|
||||
* 3. If the property name's prefix is in an approved list
|
||||
*
|
||||
* @param mixed $property
|
||||
* @param mixed $value
|
||||
* @return mixed
|
||||
*/
|
||||
protected function setProperty($property, $value)
|
||||
{
|
||||
$setter = 'set' . $this->toCamel($property);
|
||||
|
||||
if (method_exists($this, $setter)) {
|
||||
return call_user_func(array($this, $setter), $value);
|
||||
} elseif (false !== ($propertyVal = $this->propertyExists($property))) {
|
||||
// Are we setting a public or private property?
|
||||
if ($this->isAccessible($propertyVal)) {
|
||||
$this->$propertyVal = $value;
|
||||
} else {
|
||||
$this->properties[$propertyVal] = $value;
|
||||
}
|
||||
|
||||
return $this;
|
||||
} else {
|
||||
$this->getLogger()->warning(
|
||||
'Attempted to set {property} with value {value}, but the'
|
||||
. ' property has not been defined. Please define first.',
|
||||
array(
|
||||
'property' => $property,
|
||||
'value' => print_r($value, true)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Basic check to see whether property exists.
|
||||
*
|
||||
* @param string $property The property name being investigated.
|
||||
* @param bool $allowRetry If set to TRUE, the check will try to format the name in underscores because
|
||||
* there are sometimes discrepancies between camelCaseNames and underscore_names.
|
||||
* @return bool
|
||||
*/
|
||||
protected function propertyExists($property, $allowRetry = true)
|
||||
{
|
||||
if (!property_exists($this, $property) && !$this->checkAttributePrefix($property)) {
|
||||
// Convert to under_score and retry
|
||||
if ($allowRetry) {
|
||||
return $this->propertyExists($this->toUnderscores($property), false);
|
||||
} else {
|
||||
$property = false;
|
||||
}
|
||||
}
|
||||
|
||||
return $property;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a string to camelCase format.
|
||||
*
|
||||
* @param $string
|
||||
* @param bool $capitalise Optional flag which allows for word capitalization.
|
||||
* @return mixed
|
||||
*/
|
||||
public function toCamel($string, $capitalise = true)
|
||||
{
|
||||
if ($capitalise) {
|
||||
$string = ucfirst($string);
|
||||
}
|
||||
|
||||
return preg_replace_callback('/_([a-z])/', function ($char) {
|
||||
return strtoupper($char[1]);
|
||||
}, $string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert string to underscore format.
|
||||
*
|
||||
* @param $string
|
||||
* @return mixed
|
||||
*/
|
||||
public function toUnderscores($string)
|
||||
{
|
||||
$string = lcfirst($string);
|
||||
|
||||
return preg_replace_callback('/([A-Z])/', function ($char) {
|
||||
return "_" . strtolower($char[1]);
|
||||
}, $string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Does the property exist in the object variable list (i.e. does it have public or protected visibility?)
|
||||
*
|
||||
* @param $property
|
||||
* @return bool
|
||||
*/
|
||||
private function isAccessible($property)
|
||||
{
|
||||
return array_key_exists($property, get_object_vars($this));
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the attribute $property and only permits it if the prefix is
|
||||
* in the specified $prefixes array
|
||||
*
|
||||
* This is to support extension namespaces in some services.
|
||||
*
|
||||
* @param string $property the name of the attribute
|
||||
* @return boolean
|
||||
*/
|
||||
private function checkAttributePrefix($property)
|
||||
{
|
||||
if (!method_exists($this, 'getService')) {
|
||||
return false;
|
||||
}
|
||||
$prefix = strstr($property, ':', true);
|
||||
|
||||
return in_array($prefix, $this->getService()->namespaces());
|
||||
}
|
||||
|
||||
/**
|
||||
* Grab value out of the data array.
|
||||
*
|
||||
* @param string $property
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getProperty($property)
|
||||
{
|
||||
if (array_key_exists($property, $this->properties)) {
|
||||
return $this->properties[$property];
|
||||
} elseif (array_key_exists($this->toUnderscores($property), $this->properties)) {
|
||||
return $this->properties[$this->toUnderscores($property)];
|
||||
} elseif (method_exists($this, 'get' . ucfirst($property))) {
|
||||
return call_user_func(array($this, 'get' . ucfirst($property)));
|
||||
} elseif (false !== ($propertyVal = $this->propertyExists($property)) && $this->isAccessible($propertyVal)) {
|
||||
return $this->$propertyVal;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the logger.
|
||||
*
|
||||
* @param LoggerInterface $logger
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setLogger(LoggerInterface $logger = null)
|
||||
{
|
||||
$this->logger = $logger;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the Logger object.
|
||||
*
|
||||
* @return LoggerInterface
|
||||
*/
|
||||
public function getLogger()
|
||||
{
|
||||
if (null === $this->logger) {
|
||||
$this->setLogger(new Log\Logger);
|
||||
}
|
||||
|
||||
return $this->logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasLogger()
|
||||
{
|
||||
return (null !== $this->logger);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
public function url($path = null, array $query = array())
|
||||
{
|
||||
return $this->getUrl($path, $query);
|
||||
}
|
||||
|
||||
/**
|
||||
* Populates the current object based on an unknown data type.
|
||||
*
|
||||
* @param mixed $info
|
||||
* @param bool
|
||||
* @throws Exceptions\InvalidArgumentError
|
||||
*/
|
||||
public function populate($info, $setObjects = true)
|
||||
{
|
||||
if (is_string($info) || is_integer($info)) {
|
||||
$this->setProperty($this->primaryKeyField(), $info);
|
||||
$this->refresh($info);
|
||||
} elseif (is_object($info) || is_array($info)) {
|
||||
foreach ($info as $key => $value) {
|
||||
if ($key == 'metadata' || $key == 'meta') {
|
||||
// Try retrieving existing value
|
||||
if (null === ($metadata = $this->getProperty($key))) {
|
||||
// If none exists, create new object
|
||||
$metadata = new Metadata;
|
||||
}
|
||||
|
||||
// Set values for metadata
|
||||
$metadata->setArray($value);
|
||||
|
||||
// Set object property
|
||||
$this->setProperty($key, $metadata);
|
||||
} elseif (!empty($this->associatedResources[$key]) && $setObjects === true) {
|
||||
// Associated resource
|
||||
try {
|
||||
$resource = $this->getService()->resource($this->associatedResources[$key], $value);
|
||||
$resource->setParent($this);
|
||||
|
||||
$this->setProperty($key, $resource);
|
||||
} catch (Exception\ServiceException $e) {
|
||||
}
|
||||
} elseif (!empty($this->associatedCollections[$key]) && $setObjects === true) {
|
||||
// Associated collection
|
||||
try {
|
||||
$className = $this->associatedCollections[$key];
|
||||
$options = $this->makeResourceIteratorOptions($className);
|
||||
$iterator = ResourceIterator::factory($this, $options, $value);
|
||||
|
||||
$this->setProperty($key, $iterator);
|
||||
} catch (Exception\ServiceException $e) {
|
||||
}
|
||||
} elseif (!empty($this->aliases[$key])) {
|
||||
// Sometimes we might want to preserve camelCase
|
||||
// or covert `rax-bandwidth:bandwidth` to `raxBandwidth`
|
||||
$this->setProperty($this->aliases[$key], $value);
|
||||
} else {
|
||||
// Normal key/value pair
|
||||
$this->setProperty($key, $value);
|
||||
}
|
||||
}
|
||||
} elseif (null !== $info) {
|
||||
throw new Exceptions\InvalidArgumentError(sprintf(
|
||||
Lang::translate('Argument for [%s] must be string or object'),
|
||||
get_class()
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the most recent JSON operation for errors.
|
||||
*
|
||||
* @throws Exceptions\JsonError
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public static function checkJsonError()
|
||||
{
|
||||
switch (json_last_error()) {
|
||||
case JSON_ERROR_NONE:
|
||||
return;
|
||||
case JSON_ERROR_DEPTH:
|
||||
$jsonError = 'JSON error: The maximum stack depth has been exceeded';
|
||||
break;
|
||||
case JSON_ERROR_STATE_MISMATCH:
|
||||
$jsonError = 'JSON error: Invalid or malformed JSON';
|
||||
break;
|
||||
case JSON_ERROR_CTRL_CHAR:
|
||||
$jsonError = 'JSON error: Control character error, possibly incorrectly encoded';
|
||||
break;
|
||||
case JSON_ERROR_SYNTAX:
|
||||
$jsonError = 'JSON error: Syntax error';
|
||||
break;
|
||||
case JSON_ERROR_UTF8:
|
||||
$jsonError = 'JSON error: Malformed UTF-8 characters, possibly incorrectly encoded';
|
||||
break;
|
||||
default:
|
||||
$jsonError = 'Unexpected JSON error';
|
||||
break;
|
||||
}
|
||||
|
||||
if (isset($jsonError)) {
|
||||
throw new JsonError(Lang::translate($jsonError));
|
||||
}
|
||||
}
|
||||
|
||||
public static function generateUuid()
|
||||
{
|
||||
return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
|
||||
// 32 bits for "time_low"
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
|
||||
|
||||
// 16 bits for "time_mid"
|
||||
mt_rand(0, 0xffff),
|
||||
|
||||
// 16 bits for "time_hi_and_version",
|
||||
// four most significant bits holds version number 4
|
||||
mt_rand(0, 0x0fff) | 0x4000,
|
||||
|
||||
// 16 bits, 8 bits for "clk_seq_hi_res",
|
||||
// 8 bits for "clk_seq_low",
|
||||
// two most significant bits holds zero and one for variant DCE1.1
|
||||
mt_rand(0, 0x3fff) | 0x8000,
|
||||
|
||||
// 48 bits for "node"
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
|
||||
);
|
||||
}
|
||||
|
||||
public function makeResourceIteratorOptions($resource)
|
||||
{
|
||||
$options = array('resourceClass' => $this->stripNamespace($resource));
|
||||
|
||||
if (method_exists($resource, 'jsonCollectionName')) {
|
||||
$options['key.collection'] = $resource::jsonCollectionName();
|
||||
}
|
||||
|
||||
if (method_exists($resource, 'jsonCollectionElement')) {
|
||||
$options['key.collectionElement'] = $resource::jsonCollectionElement();
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
public function stripNamespace($namespace)
|
||||
{
|
||||
$array = explode('\\', $namespace);
|
||||
|
||||
return end($array);
|
||||
}
|
||||
|
||||
protected static function getJsonHeader()
|
||||
{
|
||||
return array(HeaderConst::CONTENT_TYPE => MimeConst::JSON);
|
||||
}
|
||||
}
|
||||
423
wp-content/plugins/updraftplus/vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Collection.php
vendored
Normal file
423
wp-content/plugins/updraftplus/vendor/rackspace/php-opencloud/lib/OpenCloud/Common/Collection.php
vendored
Normal file
@@ -0,0 +1,423 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common;
|
||||
|
||||
use OpenCloud\Common\Log\Logger;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
class Collection extends Base
|
||||
{
|
||||
private $service;
|
||||
private $itemClass;
|
||||
private $itemList = array();
|
||||
private $pointer = 0;
|
||||
private $sortKey;
|
||||
private $nextPageClass;
|
||||
private $nextPageCallback;
|
||||
private $nextPageUrl;
|
||||
|
||||
/**
|
||||
* A Collection is an array of objects
|
||||
*
|
||||
* Some assumptions:
|
||||
* * The `Collection` class assumes that there exists on its service
|
||||
* a factory method with the same name of the class. For example, if
|
||||
* you create a Collection of class `Foobar`, it will attempt to call
|
||||
* the method `parent::Foobar()` to create instances of that class.
|
||||
* * It assumes that the factory method can take an array of values, and
|
||||
* it passes that to the method.
|
||||
*
|
||||
* @param Service $service - the service associated with the collection
|
||||
* @param string $itemclass - the Class of each item in the collection
|
||||
* (assumed to be the name of the factory method)
|
||||
* @param array $arr - the input array
|
||||
*/
|
||||
public function __construct($service, $class, array $array = array())
|
||||
{
|
||||
$service->getLogger()->warning(Logger::deprecated(__METHOD__, 'OpenCloud\Common\Collection\CollectionBuilder'));
|
||||
|
||||
$this->setService($service);
|
||||
|
||||
$this->setNextPageClass($class);
|
||||
|
||||
// If they've supplied a FQCN, only get the last part
|
||||
$class = (false !== ($classNamePos = strrpos($class, '\\')))
|
||||
? substr($class, $classNamePos + 1)
|
||||
: $class;
|
||||
|
||||
$this->setItemClass($class);
|
||||
|
||||
// Set data
|
||||
$this->setItemList($array);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the entire data array.
|
||||
*
|
||||
* @param array $array
|
||||
*/
|
||||
private function setItemList(array $array)
|
||||
{
|
||||
$this->itemList = $array;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the entire data array.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getItemList()
|
||||
{
|
||||
return $this->itemList;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the service.
|
||||
*
|
||||
* @param Service|PersistentObject $service
|
||||
*/
|
||||
public function setService($service)
|
||||
{
|
||||
$this->service = $service;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the service associated with the Collection
|
||||
*
|
||||
* @return Service
|
||||
*/
|
||||
public function getService()
|
||||
{
|
||||
return $this->service;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the resource class name.
|
||||
*/
|
||||
private function setItemClass($itemClass)
|
||||
{
|
||||
$this->itemClass = $itemClass;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get item class.
|
||||
*/
|
||||
private function getItemClass()
|
||||
{
|
||||
return $this->itemClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the key that will be used for sorting.
|
||||
*/
|
||||
private function setSortKey($sortKey)
|
||||
{
|
||||
$this->sortKey = $sortKey;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the key that will be used for sorting.
|
||||
*/
|
||||
private function getSortKey()
|
||||
{
|
||||
return $this->sortKey;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set next page class.
|
||||
*/
|
||||
private function setNextPageClass($nextPageClass)
|
||||
{
|
||||
$this->nextPageClass = $nextPageClass;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get next page class.
|
||||
*/
|
||||
private function getNextPageClass()
|
||||
{
|
||||
return $this->nextPageClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* for paginated collection, sets the callback function and URL for
|
||||
* the next page
|
||||
*
|
||||
* The callback function should have the signature:
|
||||
*
|
||||
* function Whatever($class, $url, $parent)
|
||||
*
|
||||
* and the `$url` should be the URL of the next page of results
|
||||
*
|
||||
* @param callable $callback the name of the function (or array of
|
||||
* object, function name)
|
||||
* @param string $url the URL of the next page of results
|
||||
* @return void
|
||||
*/
|
||||
public function setNextPageCallback($callback, $url)
|
||||
{
|
||||
$this->nextPageCallback = $callback;
|
||||
$this->nextPageUrl = $url;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get next page callback.
|
||||
*/
|
||||
private function getNextPageCallback()
|
||||
{
|
||||
return $this->nextPageCallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get next page URL.
|
||||
*/
|
||||
private function getNextPageUrl()
|
||||
{
|
||||
return $this->nextPageUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the number of items in the collection
|
||||
*
|
||||
* For most services, this is the total number of items. If the Collection
|
||||
* is paginated, however, this only returns the count of items in the
|
||||
* current page of data.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->getItemList());
|
||||
}
|
||||
|
||||
/**
|
||||
* Pseudonym for count()
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function size()
|
||||
{
|
||||
return $this->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the pointer to the beginning, but does NOT return the first item
|
||||
*
|
||||
* @api
|
||||
* @return void
|
||||
*/
|
||||
public function reset()
|
||||
{
|
||||
$this->pointer = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets the collection pointer back to the first item in the page
|
||||
* and returns it
|
||||
*
|
||||
* This is useful if you're only interested in the first item in the page.
|
||||
*
|
||||
* @api
|
||||
* @return Base the first item in the set
|
||||
*/
|
||||
public function first()
|
||||
{
|
||||
$this->reset();
|
||||
|
||||
return $this->next();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the item at a particular point of the array.
|
||||
*
|
||||
* @param mixed $offset
|
||||
* @return mixed
|
||||
*/
|
||||
public function getItem($pointer)
|
||||
{
|
||||
return (isset($this->itemList[$pointer])) ? $this->itemList[$pointer] : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an item to this collection
|
||||
*
|
||||
* @param mixed $item
|
||||
*/
|
||||
public function addItem($item)
|
||||
{
|
||||
$this->itemList[] = $item;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the next item in the page
|
||||
*
|
||||
* @api
|
||||
* @return Base the next item or FALSE if at the end of the page
|
||||
*/
|
||||
public function next()
|
||||
{
|
||||
if ($this->pointer >= $this->count()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$data = $this->getItem($this->pointer++);
|
||||
$class = $this->getItemClass();
|
||||
|
||||
// Are there specific methods in the parent/service that can be used to
|
||||
// instantiate the resource? Currently supported: getResource(), resource()
|
||||
foreach (array($class, 'get' . ucfirst($class)) as $method) {
|
||||
if (method_exists($this->service, $method)) {
|
||||
return call_user_func(array($this->service, $method), $data);
|
||||
}
|
||||
}
|
||||
|
||||
// Backup method
|
||||
if (method_exists($this->service, 'resource')) {
|
||||
return $this->service->resource($class, $data);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* sorts the collection on a specified key
|
||||
*
|
||||
* Note: only top-level keys can be used as the sort key. Note that this
|
||||
* only sorts the data in the current page of the Collection (for
|
||||
* multi-page data).
|
||||
*
|
||||
* @api
|
||||
* @param string $keyname the name of the field to use as the sort key
|
||||
* @return void
|
||||
*/
|
||||
public function sort($keyname = 'id')
|
||||
{
|
||||
$this->setSortKey($keyname);
|
||||
usort($this->itemList, array($this, 'sortCompare'));
|
||||
}
|
||||
|
||||
/**
|
||||
* selects only specified items from the Collection
|
||||
*
|
||||
* This provides a simple form of filtering on Collections. For each item
|
||||
* in the collection, it calls the callback function, passing it the item.
|
||||
* If the callback returns `TRUE`, then the item is retained; if it returns
|
||||
* `FALSE`, then the item is deleted from the collection.
|
||||
*
|
||||
* Note that this should not supersede server-side filtering; the
|
||||
* `Collection::Select()` method requires that *all* of the data for the
|
||||
* Collection be retrieved from the server before the filtering is
|
||||
* performed; this can be very inefficient, especially for large data
|
||||
* sets. This method is mostly useful on smaller-sized sets.
|
||||
*
|
||||
* Example:
|
||||
* <code>
|
||||
* $services = $connection->ServiceList();
|
||||
* $services->Select(function ($item) { return $item->region=='ORD';});
|
||||
* // now the $services Collection only has items from the ORD region
|
||||
* </code>
|
||||
*
|
||||
* `Select()` is *destructive*; that is, it actually removes entries from
|
||||
* the collection. For example, if you use `Select()` to find items with
|
||||
* the ID > 10, then use it again to find items that are <= 10, it will
|
||||
* return an empty list.
|
||||
*
|
||||
* @api
|
||||
* @param callable $testfunc a callback function that is passed each item
|
||||
* in turn. Note that `Select()` performs an explicit test for
|
||||
* `FALSE`, so functions like `strpos()` need to be cast into a
|
||||
* boolean value (and not just return the integer).
|
||||
* @returns void
|
||||
* @throws DomainError if callback doesn't return a boolean value
|
||||
*/
|
||||
public function select($testfunc)
|
||||
{
|
||||
foreach ($this->getItemList() as $index => $item) {
|
||||
$test = call_user_func($testfunc, $item);
|
||||
if (!is_bool($test)) {
|
||||
throw new Exceptions\DomainError(
|
||||
Lang::translate('Callback function for Collection::Select() did not return boolean')
|
||||
);
|
||||
}
|
||||
if ($test === false) {
|
||||
unset($this->itemList[$index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the Collection object for the next page of results, or
|
||||
* FALSE if there are no more pages
|
||||
*
|
||||
* Generally, the structure for a multi-page collection will look like
|
||||
* this:
|
||||
*
|
||||
* $coll = $obj->Collection();
|
||||
* do {
|
||||
* while ($item = $coll->Next()) {
|
||||
* // do something with the item
|
||||
* }
|
||||
* } while ($coll = $coll->NextPage());
|
||||
*
|
||||
* @api
|
||||
* @return Collection if there are more pages of results, otherwise FALSE
|
||||
*/
|
||||
public function nextPage()
|
||||
{
|
||||
return ($this->getNextPageUrl() !== null)
|
||||
? call_user_func($this->getNextPageCallback(), $this->getNextPageClass(), $this->getNextPageUrl())
|
||||
: false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares two values of sort keys
|
||||
*/
|
||||
private function sortCompare($a, $b)
|
||||
{
|
||||
$key = $this->getSortKey();
|
||||
|
||||
// Handle strings
|
||||
if (is_string($a->$key)) {
|
||||
return strcmp($a->$key, $b->$key);
|
||||
}
|
||||
|
||||
// Handle others with logical comparisons
|
||||
if ($a->$key == $b->$key) {
|
||||
return 0;
|
||||
} elseif ($a->$key < $b->$key) {
|
||||
return -1;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Collection;
|
||||
|
||||
use Countable;
|
||||
use OpenCloud\Common\ArrayAccess;
|
||||
|
||||
/**
|
||||
* A generic, abstract collection class that allows collections to exhibit array functionality.
|
||||
*
|
||||
* @package OpenCloud\Common\Collection
|
||||
*/
|
||||
abstract class ArrayCollection extends ArrayAccess implements Countable
|
||||
{
|
||||
/**
|
||||
* @var array The elements being held by this iterator.
|
||||
*/
|
||||
protected $elements;
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
*/
|
||||
public function __construct(array $data = array())
|
||||
{
|
||||
$this->setElements($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->elements);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @return $this
|
||||
*/
|
||||
public function setElements(array $data = array())
|
||||
{
|
||||
$this->elements = $data;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Appends a value to the container.
|
||||
*
|
||||
* @param $value
|
||||
*/
|
||||
public function append($value)
|
||||
{
|
||||
$this->elements[] = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks to see whether a particular value exists.
|
||||
*
|
||||
* @param $value
|
||||
* @return bool
|
||||
*/
|
||||
public function valueExists($value)
|
||||
{
|
||||
return array_search($value, $this->elements) !== false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,329 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Collection;
|
||||
|
||||
use Guzzle\Http\Exception\ClientErrorResponseException;
|
||||
use Guzzle\Http\Url;
|
||||
use Iterator;
|
||||
use OpenCloud\Common\Http\Message\Formatter;
|
||||
|
||||
/**
|
||||
* Class ResourceIterator is tasked with iterating over resource collections - many of which are paginated. Based on
|
||||
* a base URL, the iterator will append elements based on further requests to the API. Each time this happens,
|
||||
* query parameters (marker) are updated based on the current value.
|
||||
*
|
||||
* @package OpenCloud\Common\Collection
|
||||
* @since 1.8.0
|
||||
*/
|
||||
class PaginatedIterator extends ResourceIterator implements Iterator
|
||||
{
|
||||
const MARKER = 'marker';
|
||||
const LIMIT = 'limit';
|
||||
|
||||
/**
|
||||
* @var string Used for requests which append elements.
|
||||
*/
|
||||
protected $currentMarker;
|
||||
|
||||
/**
|
||||
* @var \Guzzle\Http\Url The next URL for pagination
|
||||
*/
|
||||
protected $nextUrl;
|
||||
|
||||
protected $defaults = array(
|
||||
// Collection limits
|
||||
'limit.total' => 10000,
|
||||
'limit.page' => 100,
|
||||
|
||||
// The "links" element key in response
|
||||
'key.links' => 'links',
|
||||
|
||||
// JSON structure
|
||||
'key.collection' => null,
|
||||
'key.collectionElement' => null,
|
||||
|
||||
// The property used as the marker
|
||||
'key.marker' => 'name',
|
||||
|
||||
// Options for "next page" request
|
||||
'request.method' => 'GET',
|
||||
'request.headers' => array(),
|
||||
'request.body' => null,
|
||||
'request.curlOptions' => array()
|
||||
);
|
||||
|
||||
protected $required = array('resourceClass', 'baseUrl');
|
||||
|
||||
/**
|
||||
* Basic factory method to easily instantiate a new ResourceIterator.
|
||||
*
|
||||
* @param $parent The parent object
|
||||
* @param array $options Iterator options
|
||||
* @param array $data Optional data to set initially
|
||||
* @return static
|
||||
*/
|
||||
public static function factory($parent, array $options = array(), array $data = null)
|
||||
{
|
||||
$list = new static();
|
||||
|
||||
$list->setOptions($list->parseOptions($options))
|
||||
->setResourceParent($parent)
|
||||
->rewind();
|
||||
|
||||
if ($data) {
|
||||
$list->setElements($data);
|
||||
} else {
|
||||
$list->appendNewCollection();
|
||||
}
|
||||
|
||||
return $list;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Url $url
|
||||
* @return $this
|
||||
*/
|
||||
public function setBaseUrl(Url $url)
|
||||
{
|
||||
$this->baseUrl = $url;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function current()
|
||||
{
|
||||
return parent::current();
|
||||
}
|
||||
|
||||
public function key()
|
||||
{
|
||||
return parent::key();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* Also update the current marker.
|
||||
*/
|
||||
public function next()
|
||||
{
|
||||
if (!$this->valid()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$current = $this->current();
|
||||
|
||||
$this->position++;
|
||||
$this->updateMarkerToCurrent();
|
||||
|
||||
return $current;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the current marker based on the current element. The marker will be based on a particular property of this
|
||||
* current element, so you must retrieve it first.
|
||||
*/
|
||||
public function updateMarkerToCurrent()
|
||||
{
|
||||
if (!isset($this->elements[$this->position])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$element = $this->elements[$this->position];
|
||||
$this->setMarkerFromElement($element);
|
||||
}
|
||||
|
||||
protected function setMarkerFromElement($element)
|
||||
{
|
||||
$key = $this->getOption('key.marker');
|
||||
|
||||
if (isset($element->$key)) {
|
||||
$this->currentMarker = $element->$key;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* Also reset current marker.
|
||||
*/
|
||||
public function rewind()
|
||||
{
|
||||
parent::rewind();
|
||||
$this->currentMarker = null;
|
||||
}
|
||||
|
||||
public function valid()
|
||||
{
|
||||
$totalLimit = $this->getOption('limit.total');
|
||||
if ($totalLimit !== false && $this->position >= $totalLimit) {
|
||||
return false;
|
||||
} elseif (isset($this->elements[$this->position])) {
|
||||
return true;
|
||||
} elseif ($this->shouldAppend() === true) {
|
||||
$before = $this->count();
|
||||
$this->appendNewCollection();
|
||||
return ($this->count() > $before) ? true : false;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function shouldAppend()
|
||||
{
|
||||
return $this->currentMarker && (
|
||||
$this->nextUrl ||
|
||||
$this->position % $this->getOption('limit.page') == 0
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Append an array of standard objects to the current collection.
|
||||
*
|
||||
* @param array $elements
|
||||
* @return $this
|
||||
*/
|
||||
public function appendElements(array $elements)
|
||||
{
|
||||
$this->elements = array_merge($this->elements, $elements);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a new page of elements from the API (based on a new request), parse its response, and append them to the
|
||||
* collection.
|
||||
*
|
||||
* @return $this|bool
|
||||
*/
|
||||
public function appendNewCollection()
|
||||
{
|
||||
$request = $this->resourceParent
|
||||
->getClient()
|
||||
->createRequest(
|
||||
$this->getOption('request.method'),
|
||||
$this->constructNextUrl(),
|
||||
$this->getOption('request.headers'),
|
||||
$this->getOption('request.body'),
|
||||
$this->getOption('request.curlOptions')
|
||||
);
|
||||
|
||||
try {
|
||||
$response = $request->send();
|
||||
} catch (ClientErrorResponseException $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!($body = Formatter::decode($response)) || $response->getStatusCode() == 204) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->nextUrl = $this->extractNextLink($body);
|
||||
|
||||
return $this->appendElements($this->parseResponseBody($body));
|
||||
}
|
||||
|
||||
/**
|
||||
* Based on the response body, extract the explicitly set "link" value if provided.
|
||||
*
|
||||
* @param $body
|
||||
* @return bool
|
||||
*/
|
||||
public function extractNextLink($body)
|
||||
{
|
||||
$key = $this->getOption('key.links');
|
||||
|
||||
$value = null;
|
||||
|
||||
if (isset($body->$key)) {
|
||||
foreach ($body->$key as $link) {
|
||||
if (isset($link->rel) && $link->rel == 'next') {
|
||||
$value = $link->href;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make the next page URL.
|
||||
*
|
||||
* @return Url|string
|
||||
*/
|
||||
public function constructNextUrl()
|
||||
{
|
||||
if (!$url = $this->nextUrl) {
|
||||
$url = clone $this->getOption('baseUrl');
|
||||
$query = $url->getQuery();
|
||||
|
||||
if (isset($this->currentMarker)) {
|
||||
$query[static::MARKER] = $this->currentMarker;
|
||||
}
|
||||
|
||||
if (($limit = $this->getOption('limit.page')) && !$query->hasKey(static::LIMIT)) {
|
||||
$query[static::LIMIT] = $limit;
|
||||
}
|
||||
|
||||
$url->setQuery($query);
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Based on the response from the API, parse it for the data we need (i.e. an meaningful array of elements).
|
||||
*
|
||||
* @param $body
|
||||
* @return array
|
||||
*/
|
||||
public function parseResponseBody($body)
|
||||
{
|
||||
$collectionKey = $this->getOption('key.collection');
|
||||
|
||||
$data = array();
|
||||
|
||||
if (is_array($body)) {
|
||||
$data = $body;
|
||||
} elseif (isset($body->$collectionKey)) {
|
||||
if (null !== ($elementKey = $this->getOption('key.collectionElement'))) {
|
||||
// The object has element levels which need to be iterated over
|
||||
foreach ($body->$collectionKey as $item) {
|
||||
$subValues = $item->$elementKey;
|
||||
unset($item->$elementKey);
|
||||
$data[] = array_merge((array) $item, (array) $subValues);
|
||||
}
|
||||
} else {
|
||||
// The object has a top-level collection name only
|
||||
$data = $body->$collectionKey;
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Walk the entire collection, populating everything.
|
||||
*/
|
||||
public function populateAll()
|
||||
{
|
||||
while ($this->valid()) {
|
||||
$this->next();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,256 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Collection;
|
||||
|
||||
use Iterator;
|
||||
use OpenCloud\Common\Exceptions\InvalidArgumentError;
|
||||
use OpenCloud\Common\Log\Logger;
|
||||
|
||||
class ResourceIterator extends ArrayCollection implements Iterator
|
||||
{
|
||||
/**
|
||||
* @var int Internal pointer of the iterator - reveals its current position.
|
||||
*/
|
||||
protected $position;
|
||||
|
||||
/**
|
||||
* @var object The parent object which resource models are instantiated from. The parent needs to have appropriate
|
||||
* methods to instantiate the particular object.
|
||||
*/
|
||||
protected $resourceParent;
|
||||
|
||||
/**
|
||||
* @var array The options for this iterator.
|
||||
*/
|
||||
protected $options;
|
||||
|
||||
/**
|
||||
* @var array Fallback defaults if options are not explicitly set or provided.
|
||||
*/
|
||||
protected $defaults = array('limit.total' => 1000);
|
||||
|
||||
/**
|
||||
* @var array Required options
|
||||
*/
|
||||
protected $required = array();
|
||||
|
||||
public static function factory($parent, array $options = array(), array $data = array())
|
||||
{
|
||||
$iterator = new static($data);
|
||||
|
||||
$iterator->setResourceParent($parent)
|
||||
->setElements($data)
|
||||
->setOptions($iterator->parseOptions($options))
|
||||
->rewind();
|
||||
|
||||
return $iterator;
|
||||
}
|
||||
|
||||
protected function parseOptions(array $options)
|
||||
{
|
||||
$options = $options + $this->defaults;
|
||||
|
||||
if ($missing = array_diff($this->required, array_keys($options))) {
|
||||
throw new InvalidArgumentError(sprintf('%s is a required option', implode(',', $missing)));
|
||||
}
|
||||
|
||||
return $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $parent
|
||||
* @return $this
|
||||
*/
|
||||
public function setResourceParent($parent)
|
||||
{
|
||||
$this->resourceParent = $parent;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $options
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(array $options)
|
||||
{
|
||||
$this->options = $options;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array Options for the resource iterator.
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
return $this->options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a particular option.
|
||||
*
|
||||
* @param $key
|
||||
* @param $value
|
||||
* @return $this
|
||||
*/
|
||||
public function setOption($key, $value)
|
||||
{
|
||||
$this->options[$key] = $value;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $key
|
||||
* @return null
|
||||
*/
|
||||
public function getOption($key)
|
||||
{
|
||||
return (isset($this->options[$key])) ? $this->options[$key] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called after self::rewind() and self::next() to check if the current position is valid.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function valid()
|
||||
{
|
||||
return $this->offsetExists($this->position) && $this->position < $this->getOption('limit.total');
|
||||
}
|
||||
|
||||
/**
|
||||
* Increment the current pointer by 1, and also update the current marker.
|
||||
*/
|
||||
public function next()
|
||||
{
|
||||
$this->position++;
|
||||
|
||||
return $this->current();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the pointer and current marker.
|
||||
*/
|
||||
public function rewind()
|
||||
{
|
||||
$this->position = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function current()
|
||||
{
|
||||
return $this->constructResource($this->currentElement());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function currentElement()
|
||||
{
|
||||
return $this->offsetGet($this->key());
|
||||
}
|
||||
|
||||
/**
|
||||
* Using a standard object, this method populates a resource model with all the object data. It does this using a
|
||||
* whatever method the parent object has for resource creation.
|
||||
*
|
||||
* @param $object Standard object
|
||||
* @return mixed
|
||||
* @throws \OpenCloud\Common\Exceptions\CollectionException
|
||||
*/
|
||||
public function constructResource($object)
|
||||
{
|
||||
$className = $this->getOption('resourceClass');
|
||||
|
||||
if (substr_count($className, '\\')) {
|
||||
$array = explode('\\', $className);
|
||||
$className = end($array);
|
||||
}
|
||||
|
||||
$parent = $this->resourceParent;
|
||||
$getter = sprintf('get%s', ucfirst($className));
|
||||
|
||||
if (method_exists($parent, $className)) {
|
||||
// $parent->server($data)
|
||||
return call_user_func(array($parent, $className), $object);
|
||||
} elseif (method_exists($parent, $getter)) {
|
||||
// $parent->getServer($data)
|
||||
return call_user_func(array($parent, $getter), $object);
|
||||
} elseif (method_exists($parent, 'resource')) {
|
||||
// $parent->resource('Server', $data)
|
||||
return $parent->resource($className, $object);
|
||||
} else {
|
||||
return $object;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the current position/internal pointer.
|
||||
*
|
||||
* @return int|mixed
|
||||
*/
|
||||
public function key()
|
||||
{
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
public function getElement($offset)
|
||||
{
|
||||
return (!$this->offsetExists($offset)) ? false : $this->constructResource($this->offsetGet($offset));
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
public function first()
|
||||
{
|
||||
Logger::newInstance()->warning(Logger::deprecated(__METHOD__, 'getElement'));
|
||||
|
||||
return $this->getElement(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo Implement
|
||||
*/
|
||||
public function sort()
|
||||
{
|
||||
}
|
||||
|
||||
public function search($callback)
|
||||
{
|
||||
$return = false;
|
||||
|
||||
if (!is_callable($callback)) {
|
||||
throw new InvalidArgumentError('The provided argument must be a valid callback');
|
||||
}
|
||||
|
||||
foreach ($this->elements as $element) {
|
||||
$resource = $this->constructResource($element);
|
||||
if (call_user_func($callback, $resource) === true) {
|
||||
$return = $resource;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Constants;
|
||||
|
||||
class Datetime
|
||||
{
|
||||
/**
|
||||
* Values in s.
|
||||
*/
|
||||
const SECOND = 1;
|
||||
const MINUTE = 60;
|
||||
const HOUR = 3600;
|
||||
const DAY = 86400;
|
||||
|
||||
/**
|
||||
* Values in ms.
|
||||
*/
|
||||
const MILLISECOND = 1;
|
||||
const SECOND_M = 1000;
|
||||
const MINUTE_M = 60000;
|
||||
const HOUR_M = 3600000;
|
||||
const DAY_M = 86400000;
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Constants;
|
||||
|
||||
/**
|
||||
* Standard Header Field names as defined in RFC2616.
|
||||
*
|
||||
* @link http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
|
||||
* @package OpenCloud\Common\Constants
|
||||
*/
|
||||
class Header
|
||||
{
|
||||
const ACCEPT = 'Accept';
|
||||
const ACCEPT_CHARSET = 'Accept-Charset';
|
||||
const ACCEPT_ENCODING = 'Accept-Encoding';
|
||||
const ACCEPT_LANGUAGE = 'Accept-Language';
|
||||
const ACCEPT_RANGES = 'Accept-Ranges';
|
||||
const AGE = 'Age';
|
||||
const ALLOW = 'Allow';
|
||||
const AUTHORIZATION = 'Authorization';
|
||||
const CACHE_CONTROL = 'Cache-Control';
|
||||
const CONNECTION = 'Connection';
|
||||
const CONTENT_ENCODING = 'Content-Encoding';
|
||||
const CONTENT_LANGUAGE = 'Content-Language';
|
||||
const CONTENT_LENGTH = 'Content-Length';
|
||||
const CONTENT_LOCATION = 'Content-Location';
|
||||
const CONTENT_MD5 = 'Content-MD5';
|
||||
const CONTENT_RANGE = 'Content-Range';
|
||||
const CONTENT_TYPE = 'Content-Type';
|
||||
const DATE = 'Date';
|
||||
const ETAG = 'ETag';
|
||||
const EXPECT = 'Expect';
|
||||
const EXPIRES = 'Expires';
|
||||
const FROM = 'From';
|
||||
const HOST = 'Host';
|
||||
const IF_MATCH = 'If-Match';
|
||||
const IF_MODIFIED_SINCE = 'If-Modified-Since';
|
||||
const IF_NONE_MATCH = 'If-None-Match';
|
||||
const IF_RANGE = 'If-Range';
|
||||
const IF_UNMODIFIED_SINCE = 'If-Unmodified-Since';
|
||||
const LAST_MODIFIED = 'Last-Modified';
|
||||
const LOCATION = 'Location';
|
||||
const MAX_FORWARDS = 'Max-Forwards';
|
||||
const PRAGMA = 'Pragma';
|
||||
const PROXY_AUTHENTICATION = 'Proxy-Authenticate';
|
||||
const PROXY_AUTHORIZATION = 'Proxy-Authorization';
|
||||
const RANGE = 'Range';
|
||||
const REFERER = 'Referer';
|
||||
const RETRY_AFTER = 'Retry-After';
|
||||
const SERVER = 'Server';
|
||||
const TE = 'TE';
|
||||
const TRAILER = 'Trailer';
|
||||
const TRANSFER_ENCODING = 'Transfer-Encoding';
|
||||
const UPGRADE = 'Upgrade';
|
||||
const USER_AGENT = 'User-Agent';
|
||||
const VARY = 'Vary';
|
||||
const VIA = 'Via';
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Constants;
|
||||
|
||||
class Mime
|
||||
{
|
||||
const JSON = 'application/json';
|
||||
const TEXT = 'text/plain';
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Constants;
|
||||
|
||||
class Service
|
||||
{
|
||||
const INTERNAL_URL = 'internalUrl';
|
||||
const PUBLIC_URL = 'publicUrl';
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Constants;
|
||||
|
||||
class Size
|
||||
{
|
||||
const KB = 1024;
|
||||
const MB = 1048576;
|
||||
const GB = 1073741824;
|
||||
const TB = 1099511627776;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Constants;
|
||||
|
||||
class State
|
||||
{
|
||||
const ACTIVE = 'ACTIVE';
|
||||
const ERROR = 'ERROR';
|
||||
const DEFAULT_TIMEOUT = 3600;
|
||||
const DEFAULT_INTERVAL = 10;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class AsyncError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class AsyncHttpError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class AsyncTimeoutError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class AttributeError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class AuthenticationError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class BaseException extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CdnError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CdnHttpError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CdnNotAvailableError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CdnTtlError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CollectionException extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ContainerCreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ContainerDeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ContainerError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ContainerNameError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ContainerNotEmptyError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ContainerNotFoundError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CreateUpdateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class CredentialError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DatabaseCreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DatabaseDeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DatabaseListError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DatabaseNameError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DatabaseUpdateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DocumentError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class DomainError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class EmptyResponseError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class EndpointError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class FlavorError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace OpenCloud\Common\Exceptions;
|
||||
|
||||
use Guzzle\Http\Exception\BadResponseException;
|
||||
|
||||
class ForbiddenOperationException extends HttpResponseException
|
||||
{
|
||||
public static function factory(BadResponseException $exception)
|
||||
{
|
||||
$response = $exception->getResponse();
|
||||
|
||||
$message = sprintf(
|
||||
"This operation was forbidden; the API returned a %s status code with this message:\n%s",
|
||||
$response->getStatusCode(),
|
||||
(string) $response->getBody()
|
||||
);
|
||||
|
||||
$e = new self($message);
|
||||
$e->setResponse($response);
|
||||
$e->setRequest($exception->getRequest());
|
||||
|
||||
return $e;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpForbiddenError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpOverLimitError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace OpenCloud\Common\Exceptions;
|
||||
|
||||
use Guzzle\Http\Message\RequestInterface;
|
||||
use Guzzle\Http\Message\Response;
|
||||
|
||||
class HttpResponseException extends \Exception
|
||||
{
|
||||
protected $response;
|
||||
protected $request;
|
||||
|
||||
/**
|
||||
* Set the request that caused the exception
|
||||
*
|
||||
* @param RequestInterface $request Request to set
|
||||
*
|
||||
* @return RequestException
|
||||
*/
|
||||
public function setRequest(RequestInterface $request)
|
||||
{
|
||||
$this->request = $request;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the request that caused the exception
|
||||
*
|
||||
* @return RequestInterface
|
||||
*/
|
||||
public function getRequest()
|
||||
{
|
||||
return $this->request;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the response that caused the exception
|
||||
*
|
||||
* @param Response $response Response to set
|
||||
*/
|
||||
public function setResponse(Response $response)
|
||||
{
|
||||
$this->response = $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the response that caused the exception
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function getResponse()
|
||||
{
|
||||
return $this->response;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpRetryError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpTimeoutError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpUnauthorizedError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class HttpUrlError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class IOError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class IdRequiredError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ImageError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InstanceCreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InstanceDeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InstanceError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InstanceFlavorError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InstanceNotFound extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InstanceUpdateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InvalidArgumentError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InvalidIdTypeError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InvalidIpTypeError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InvalidParameterError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InvalidRequestError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class InvalidTemplateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class JsonError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
use Exception;
|
||||
|
||||
class LoggingException extends Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataCreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataDeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataJsonError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataKeyError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataPrefixError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MetadataUpdateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MisMatchedChecksumError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class MissingValueError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NameError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NetworkCreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NetworkDeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NetworkError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NetworkUpdateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NetworkUrlError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NoContentTypeError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class NoNameError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ObjFetchError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ObjectCopyError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ObjectError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class RebuildError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class RecordTypeError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ResourceBucketException extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace OpenCloud\Common\Exceptions;
|
||||
|
||||
use Guzzle\Http\Exception\BadResponseException;
|
||||
|
||||
class ResourceNotFoundException extends HttpResponseException
|
||||
{
|
||||
public static function factory(BadResponseException $exception)
|
||||
{
|
||||
$response = $exception->getResponse();
|
||||
|
||||
$message = sprintf(
|
||||
"This resource you were looking for could not be found; the API returned a %s status code with this message:\n%s",
|
||||
$response->getStatusCode(),
|
||||
(string) $response->getBody()
|
||||
);
|
||||
|
||||
$e = new self($message);
|
||||
$e->setResponse($response);
|
||||
$e->setRequest($exception->getRequest());
|
||||
|
||||
return $e;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class RuntimeException extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ServerActionError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ServerCreateError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ServerDeleteError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ServerImageScheduleError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ServerIpsError extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2012-2014 Rackspace US, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License 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 OpenCloud\Common\Exceptions;
|
||||
|
||||
class ServerJsonError extends \Exception
|
||||
{
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user