Code Duplication    Length = 49-49 lines in 2 locations

src/Promise/HttpFulfilledPromise.php 1 location

@@ 9-57 (lines=49) @@
6
use Http\Promise\Promise;
7
use Psr\Http\Message\ResponseInterface;
8
9
final class HttpFulfilledPromise implements Promise
10
{
11
    /**
12
     * @var ResponseInterface
13
     */
14
    private $response;
15
16
    /**
17
     * @param ResponseInterface $response
18
     */
19
    public function __construct(ResponseInterface $response)
20
    {
21
        $this->response = $response;
22
    }
23
24
    /**
25
     * {@inheritdoc}
26
     */
27
    public function then(callable $onFulfilled = null, callable $onRejected = null)
28
    {
29
        if (null === $onFulfilled) {
30
            return $this;
31
        }
32
33
        try {
34
            return new self($onFulfilled($this->response));
35
        } catch (Exception $e) {
36
            return new HttpRejectedPromise($e);
37
        }
38
    }
39
40
    /**
41
     * {@inheritdoc}
42
     */
43
    public function getState()
44
    {
45
        return Promise::FULFILLED;
46
    }
47
48
    /**
49
     * {@inheritdoc}
50
     */
51
    public function wait($unwrap = true)
52
    {
53
        if ($unwrap) {
54
            return $this->response;
55
        }
56
    }
57
}
58

src/Promise/HttpRejectedPromise.php 1 location

@@ 8-56 (lines=49) @@
5
use Http\Client\Exception;
6
use Http\Promise\Promise;
7
8
final class HttpRejectedPromise implements Promise
9
{
10
    /**
11
     * @var Exception
12
     */
13
    private $exception;
14
15
    /**
16
     * @param Exception $exception
17
     */
18
    public function __construct(Exception $exception)
19
    {
20
        $this->exception = $exception;
21
    }
22
23
    /**
24
     * {@inheritdoc}
25
     */
26
    public function then(callable $onFulfilled = null, callable $onRejected = null)
27
    {
28
        if (null === $onRejected) {
29
            return $this;
30
        }
31
32
        try {
33
            return new HttpFulfilledPromise($onRejected($this->exception));
34
        } catch (Exception $e) {
35
            return new self($e);
36
        }
37
    }
38
39
    /**
40
     * {@inheritdoc}
41
     */
42
    public function getState()
43
    {
44
        return Promise::REJECTED;
45
    }
46
47
    /**
48
     * {@inheritdoc}
49
     */
50
    public function wait($unwrap = true)
51
    {
52
        if ($unwrap) {
53
            throw $this->exception;
54
        }
55
    }
56
}
57