File tree Expand file tree Collapse file tree 3 files changed +38
-3
lines changed Expand file tree Collapse file tree 3 files changed +38
-3
lines changed Original file line number Diff line number Diff line change
1
+ <?php declare (strict_types=1 );
2
+
3
+ namespace ApiClients \Foundation \Middleware ;
4
+
5
+ use Throwable ;
6
+ use React \Promise \CancellablePromiseInterface ;
7
+
8
+ use function React \Promise \reject ;
9
+
10
+ trait ErrorTrait
11
+ {
12
+ /**
13
+ * @param Throwable $throwable
14
+ * @param array $options
15
+ * @return CancellablePromiseInterface
16
+ */
17
+ public function error (Throwable $ throwable , array $ options = []): CancellablePromiseInterface
18
+ {
19
+ return reject ($ throwable );
20
+ }
21
+ }
Original file line number Diff line number Diff line change 4
4
namespace ApiClients \Tests \Foundation \Middleware ;
5
5
6
6
use ApiClients \Foundation \Middleware \DefaultPriorityTrait ;
7
+ use ApiClients \Foundation \Middleware \ErrorTrait ;
7
8
use ApiClients \Foundation \Middleware \MiddlewareInterface ;
8
9
use ApiClients \Foundation \Middleware \PostTrait ;
9
10
use ApiClients \Foundation \Middleware \PreTrait ;
@@ -13,4 +14,5 @@ class DummyMiddleware implements MiddlewareInterface
13
14
use DefaultPriorityTrait;
14
15
use PreTrait;
15
16
use PostTrait;
17
+ use ErrorTrait;
16
18
}
Original file line number Diff line number Diff line change 1
- <?php
2
- declare (strict_types=1 );
1
+ <?php declare (strict_types=1 );
3
2
4
3
namespace ApiClients \Tests \Foundation \Middleware ;
5
4
6
5
use ApiClients \Tools \TestUtilities \TestCase ;
7
- use function Clue \ React \ Block \ await ;
6
+ use Exception ;
8
7
use Psr \Http \Message \RequestInterface ;
9
8
use Psr \Http \Message \ResponseInterface ;
10
9
use React \EventLoop \Factory ;
10
+ use function Clue \React \Block \await ;
11
11
12
12
class DummyMiddlewareTest extends TestCase
13
13
{
@@ -45,4 +45,16 @@ public function testPost()
45
45
)
46
46
);
47
47
}
48
+
49
+ public function testError ()
50
+ {
51
+ $ middleware = new DummyMiddleware ();
52
+ $ exception = new Exception ('Throwable or anything extending it ' );
53
+ self ::expectException (Exception::class);
54
+ self ::expectExceptionMessage ('Throwable or anything extending it ' );
55
+ await (
56
+ $ middleware ->error ($ exception ),
57
+ Factory::create ()
58
+ );
59
+ }
48
60
}
You can’t perform that action at this time.
0 commit comments