Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

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