source: vendor/guzzlehttp/promises/src/RejectionException.php

Last change on this file was e3d4e0a, checked in by Vlado 222039 <vlado.popovski@…>, 7 days ago

Upload project files

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[e3d4e0a]1<?php
2
3declare(strict_types=1);
4
5namespace 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 */
12class 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}
Note: See TracBrowser for help on using the repository browser.