krz/vox-populi
A Tumblr web client.
clone: git clone https://gitbay.org/krz/vox-populi.git
main: vendor/guzzlehttp/promises/src/RejectionException.php · raw
1<?php
2namespace GuzzleHttp\Promise;
3
4/**
5 * A special exception that is thrown when waiting on a rejected promise.
6 *
7 * The reason value is available via the getReason() method.
8 */
9class RejectionException extends \RuntimeException
10{
11 /** @var mixed Rejection reason. */
12 private $reason;
13
14 /**
15 * @param mixed $reason Rejection reason.
16 * @param string $description Optional description
17 */
18 public function __construct($reason, $description = null)
19 {
20 $this->reason = $reason;
21
22 $message = 'The promise was rejected';
23
24 if ($description) {
25 $message .= ' with reason: ' . $description;
26 } elseif (is_string($reason)
27 || (is_object($reason) && method_exists($reason, '__toString'))
28 ) {
29 $message .= ' with reason: ' . $this->reason;
30 } elseif ($reason instanceof \JsonSerializable) {
31 $message .= ' with reason: '
32 . json_encode($this->reason, JSON_PRETTY_PRINT);
33 }
34
35 parent::__construct($message);
36 }
37
38 /**
39 * Returns the rejection reason.
40 *
41 * @return mixed
42 */
43 public function getReason()
44 {
45 return $this->reason;
46 }
47}