PluginProbe
Plausible Analytics / trunk
Plausible Analytics vtrunk
2.6.1 2.6.0 trunk 1.0.0 1.0.1 1.1.0 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 All 52 releases
plausible-analytics / src / Client / lib / Lib / GuzzleHttp / Promise / RejectionException.php

RejectionException.php in Plausible Analytics trunk, at src/Client/lib/Lib/GuzzleHttp/Promise/RejectionException.php

50 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Plausible\Analytics\WP\Client\Lib\GuzzleHttp\Promise;
6
7 /**
8 * A special exception that is thrown when waiting on a rejected promise.
9 *
10 * The reason value is available via the getReason() method.
11 */
12 class RejectionException extends \RuntimeException
13 {
14 /** @var mixed Rejection reason. */
15 private $reason;
16
17 /**
18 * @param mixed $reason Rejection reason.
19 * @param string|null $description Optional description.
20 */
21 public function __construct($reason, ?string $description = null)
22 {
23 $this->reason = $reason;
24
25 $message = 'The promise was rejected';
26
27 if ($description) {
28 $message .= ' with reason: '.$description;
29 } elseif (is_string($reason)
30 || (is_object($reason) && method_exists($reason, '__toString'))
31 ) {
32 $message .= ' with reason: '.$this->reason;
33 } elseif ($reason instanceof \JsonSerializable) {
34 $message .= ' with reason: '.json_encode($this->reason, JSON_PRETTY_PRINT);
35 }
36
37 parent::__construct($message);
38 }
39
40 /**
41 * Returns the rejection reason.
42 *
43 * @return mixed
44 */
45 public function getReason()
46 {
47 return $this->reason;
48 }
49 }
50