mirror of
https://github.com/KevinMidboe/rohnenedre.git
synced 2025-12-29 13:21:16 +00:00
Initial commit. State 04.2021.
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
class AWeberException extends Exception { }
|
||||
|
||||
/**
|
||||
* Thrown when the API returns an error. (HTTP status >= 400)
|
||||
*
|
||||
*
|
||||
* @uses AWeberException
|
||||
* @package
|
||||
* @version $id$
|
||||
*/
|
||||
class AWeberAPIException extends AWeberException {
|
||||
|
||||
public $type;
|
||||
public $status;
|
||||
public $message;
|
||||
public $documentation_url;
|
||||
public $url;
|
||||
|
||||
public function __construct($error, $url) {
|
||||
// record specific details of the API exception for processing
|
||||
$this->url = $url;
|
||||
$this->type = $error['type'];
|
||||
$this->status = array_key_exists('status', $error) ? $error['status'] : '';
|
||||
$this->message = $error['message'];
|
||||
$this->documentation_url = $error['documentation_url'];
|
||||
|
||||
parent::__construct($this->message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Thrown when attempting to use a resource that is not implemented.
|
||||
*
|
||||
* @uses AWeberException
|
||||
* @package
|
||||
* @version $id$
|
||||
*/
|
||||
class AWeberResourceNotImplemented extends AWeberException {
|
||||
|
||||
public function __construct($object, $value) {
|
||||
$this->object = $object;
|
||||
$this->value = $value;
|
||||
parent::__construct("Resource \"{$value}\" is not implemented on this resource.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* AWeberMethodNotImplemented
|
||||
*
|
||||
* Thrown when attempting to call a method that is not implemented for a resource
|
||||
* / collection. Differs from standard method not defined errors, as this will
|
||||
* be thrown when the method is infact implemented on the base class, but the
|
||||
* current resource type does not provide access to that method (ie calling
|
||||
* getByMessageNumber on a web_forms collection).
|
||||
*
|
||||
* @uses AWeberException
|
||||
* @package
|
||||
* @version $id$
|
||||
*/
|
||||
class AWeberMethodNotImplemented extends AWeberException {
|
||||
|
||||
public function __construct($object) {
|
||||
$this->object = $object;
|
||||
parent::__construct("This method is not implemented by the current resource.");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* AWeberOAuthException
|
||||
*
|
||||
* OAuth exception, as generated by an API JSON error response
|
||||
* @uses AWeberException
|
||||
* @package
|
||||
* @version $id$
|
||||
*/
|
||||
class AWeberOAuthException extends AWeberException {
|
||||
|
||||
public function __construct($type, $message) {
|
||||
$this->type = $type;
|
||||
$this->message = $message;
|
||||
parent::__construct("{$type}: {$message}");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* AWeberOAuthDataMissing
|
||||
*
|
||||
* Used when a specific piece or pieces of data was not found in the
|
||||
* response. This differs from the exception that might be thrown as
|
||||
* an AWeberOAuthException when parameters are not provided because
|
||||
* it is not the servers' expectations that were not met, but rather
|
||||
* the expecations of the client were not met by the server.
|
||||
*
|
||||
* @uses AWeberException
|
||||
* @package
|
||||
* @version $id$
|
||||
*/
|
||||
class AWeberOAuthDataMissing extends AWeberException {
|
||||
|
||||
public function __construct($missing) {
|
||||
if (!is_array($missing)) $missing = array($missing);
|
||||
$this->missing = $missing;
|
||||
$required = join(', ', $this->missing);
|
||||
parent::__construct("OAuthDataMissing: Response was expected to contain: {$required}");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* AWeberResponseError
|
||||
*
|
||||
* This is raised when the server returns a non-JSON response. This
|
||||
* should only occur when there is a server or some type of connectivity
|
||||
* issue.
|
||||
*
|
||||
* @uses AWeberException
|
||||
* @package
|
||||
* @version $id$
|
||||
*/
|
||||
class AWeberResponseError extends AWeberException {
|
||||
|
||||
public function __construct($uri) {
|
||||
$this->uri = $uri;
|
||||
parent::__construct("Request for {$uri} did not respond properly.");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user