summaryrefslogtreecommitdiffstats
path: root/examples/message-events
diff options
context:
space:
mode:
authorEwan Dennis <ewandennis@users.noreply.github.com>2017-07-10 16:13:28 +0100
committerGitHub <noreply@github.com>2017-07-10 16:13:28 +0100
commit342ecf62947cfe3b31f2253fb427b1b4a613907b (patch)
tree0a7ddf7a0dee31d895479ce8af589477b93d8bd4 /examples/message-events
parent4de9c54c7a3554192e50fee9734fa96bf3e7bec3 (diff)
parent7beccdecb04d24cd055c91cf9b652ccc58eeaf60 (diff)
downloadphp-sparkpost-342ecf62947cfe3b31f2253fb427b1b4a613907b.zip
php-sparkpost-342ecf62947cfe3b31f2253fb427b1b4a613907b.tar.gz
php-sparkpost-342ecf62947cfe3b31f2253fb427b1b4a613907b.tar.bz2
Merge pull request #169 from SparkPost/issue-168
Issue-168: Optional automatic retry on 5xx
Diffstat (limited to 'examples/message-events')
-rw-r--r--examples/message-events/get_message_events_with_retry_logic.php33
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";
+ }
+}