diff options
Diffstat (limited to 'examples/message-events')
-rw-r--r-- | examples/message-events/get_message_events_with_retry_logic.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/message-events/get_message_events_with_retry_logic.php b/examples/message-events/get_message_events_with_retry_logic.php new file mode 100644 index 0000000..68225cb --- /dev/null +++ b/examples/message-events/get_message_events_with_retry_logic.php @@ -0,0 +1,33 @@ +<?php + +namespace Examples\Templates; + +require dirname(__FILE__).'/../bootstrap.php'; + +use SparkPost\SparkPost; +use GuzzleHttp\Client; +use Http\Adapter\Guzzle6\Client as GuzzleAdapter; + +$httpClient = new GuzzleAdapter(new Client()); + +$sparky = new SparkPost($httpClient, ["key" => "YOUR_API_KEY", "retries" => 3]); + +$promise = $sparky->request('GET', 'message-events', [ + 'campaign_ids' => 'CAMPAIGN_ID', +]); + +/** + * If this fails with a 5xx it will have failed 4 times + */ +try { + $response = $promise->wait(); + echo $response->getStatusCode()."\n"; + print_r($response->getBody())."\n"; +} catch (\Exception $e) { + echo $e->getCode()."\n"; + echo $e->getMessage()."\n"; + + if ($e->getCode() >= 500 && $e->getCode() <= 599) { + echo "Wow, this failed epically"; + } +} |