Handler for Catcher that sends messages to an AWS SNS topic
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dustin Wilson cde286cf4f Updated README, removed fake key and secret to get bots off my ass 6 months ago
lib Initial commit 6 months ago
tests Updated README, removed fake key and secret to get bots off my ass 6 months ago
.gitignore Initial commit 6 months ago
AUTHORS Initial commit 6 months ago
LICENSE Initial commit 6 months ago
README.md Updated README, removed fake key and secret to get bots off my ass 6 months ago
composer.json Initial commit 6 months ago
composer.lock Initial commit 6 months ago
test Initial commit 6 months ago

README.md

AWSSNSHandler

AWSSNSHandler is a Throwable handler for use in Catcher, a Throwable and error handling library for PHP. It sends throwables and errors to Amazon SNS topics. Right now AWSSNSHandler only supports sending to standard topics.

Requirements

Installation

composer require mensbeam/catcher-awssnshandler

Usage

For most use cases this library requires no configuration and little effort to integrate into non-complex environments:

use MensBeam\Catcher,
    MensBeam\Catcher\AWSSNSHandler,
    Aws\Sns\SnsClient;

$client = new SnsClient([
    'version' => 'latest',
    'region' => 'us-west-2',
    'credentials' => [
        'key' => '<AWS KEY>',
        'secret' => '<AWS SECRET>'
    ]
]);
$catcher = new Catcher(new AWSSNSHandler($client, 'arn:aws:sns:us-west-2:701867229025:ook_eek'));

That's it. It will automatically register Catcher as an exception, error, and shutdown handler and use AWSSNSHandler as its sole handler. Like other Catcher handlers, AWSSNSHandler can be configured with a logger. When logging it behaves identically to JSONHandler. See the Catcher documentation for more info on how to configure a logger.

Documentation

MensBeam\Catcher\AWSSNSHandler

namespace MensBeam\Catcher;
use Aws\Sns\SnsClient;


class AWSSNSHandler extends JSONHandler {
    protected SnsClient $client;
    protected string $topicARN;


    public function __construct(SnsClient $client, string $topicARN, array $options = []);

    public function getClient(): SnsClient;
    public function setClient(SnsClient $client): void;
    public function getTopicARN(): string;
    public function setTopicARN(string $topicARN): void;
}

MensBeam\Catcher\AWSSNSHandler::getClient

Returns the Aws\Sns\SnsClient the handler uses

MensBeam\Catcher\AWSSNSHandler::getTopicARN

Returns the AWS SNS topic ARN the handler sends messages to

MensBeam\Catcher\AWSSNSHandler::setClient

Replaces the Aws\Sns\SnsClient the handler uses with one specified

MensBeam\Catcher\AWSSNSHandler::setTopicARN

Replaces the AWS SNS topic ARN the handler sends messages to with one specified