mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-08-20 05:13:42 -07:00
v2: Updates
* Simplifies & beautifies everything * Introduces a new Class system. * Errors are defaulted to AWS's handler. * New function names & more efficient handling. * Should fix a majority of the errors. Please read the README for more!
This commit is contained in:
parent
ad0726e41e
commit
e6d7753dc8
1095 changed files with 45088 additions and 2911 deletions
|
@ -61,7 +61,7 @@ class Message implements \ArrayAccess, \IteratorAggregate
|
|||
* @param string $requestBody
|
||||
* @return Message
|
||||
*/
|
||||
private static function fromJsonString($requestBody)
|
||||
public static function fromJsonString($requestBody)
|
||||
{
|
||||
$data = json_decode($requestBody, true);
|
||||
if (JSON_ERROR_NONE !== json_last_error() || !is_array($data)) {
|
||||
|
|
|
@ -57,14 +57,16 @@ class MessageValidator
|
|||
*
|
||||
* @param callable $certClient Callable used to download the certificate.
|
||||
* Should have the following function signature:
|
||||
* `function (string $certUrl) : string $certContent`
|
||||
* `function (string $certUrl) : string|false $certContent`
|
||||
* @param string $hostNamePattern
|
||||
*/
|
||||
public function __construct(
|
||||
callable $certClient = null,
|
||||
$hostNamePattern = ''
|
||||
) {
|
||||
$this->certClient = $certClient ?: 'file_get_contents';
|
||||
$this->certClient = $certClient ?: function($certUrl) {
|
||||
return @ file_get_contents($certUrl);
|
||||
};
|
||||
$this->hostPattern = $hostNamePattern ?: self::$defaultHostPattern;
|
||||
}
|
||||
|
||||
|
@ -86,6 +88,11 @@ class MessageValidator
|
|||
// Get the certificate.
|
||||
$this->validateUrl($message['SigningCertURL']);
|
||||
$certificate = call_user_func($this->certClient, $message['SigningCertURL']);
|
||||
if ($certificate === false) {
|
||||
throw new InvalidSnsMessageException(
|
||||
"Cannot get the certificate from \"{$message['SigningCertURL']}\"."
|
||||
);
|
||||
}
|
||||
|
||||
// Extract the public key.
|
||||
$key = openssl_get_publickey($certificate);
|
||||
|
|
|
@ -44,6 +44,8 @@ use Aws\AwsClient;
|
|||
* @method \GuzzleHttp\Promise\Promise listSubscriptionsAsync(array $args = [])
|
||||
* @method \Aws\Result listSubscriptionsByTopic(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listSubscriptionsByTopicAsync(array $args = [])
|
||||
* @method \Aws\Result listTagsForResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTagsForResourceAsync(array $args = [])
|
||||
* @method \Aws\Result listTopics(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise listTopicsAsync(array $args = [])
|
||||
* @method \Aws\Result optInPhoneNumber(array $args = [])
|
||||
|
@ -64,7 +66,11 @@ use Aws\AwsClient;
|
|||
* @method \GuzzleHttp\Promise\Promise setTopicAttributesAsync(array $args = [])
|
||||
* @method \Aws\Result subscribe(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise subscribeAsync(array $args = [])
|
||||
* @method \Aws\Result tagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise tagResourceAsync(array $args = [])
|
||||
* @method \Aws\Result unsubscribe(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise unsubscribeAsync(array $args = [])
|
||||
* @method \Aws\Result untagResource(array $args = [])
|
||||
* @method \GuzzleHttp\Promise\Promise untagResourceAsync(array $args = [])
|
||||
*/
|
||||
class SnsClient extends AwsClient {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue