File tree Expand file tree Collapse file tree 2 files changed +35
-0
lines changed
Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Tests \Tempest \Integration \Route \Fixtures ;
4+
5+ use Tempest \Core \Priority ;
6+ use Tempest \Http \Request ;
7+ use Tempest \Http \Response ;
8+ use Tempest \Router \HttpMiddleware ;
9+ use Tempest \Router \HttpMiddlewareCallable ;
10+
11+ #[Priority(Priority::EXCEPTION_HANDLING )]
12+ final class CustomNotFoundMiddleware implements HttpMiddleware
13+ {
14+ public function __invoke (Request $ request , HttpMiddlewareCallable $ next ): Response
15+ {
16+ $ response = $ next ($ request );
17+
18+ $ response ->addHeader ('x-not-found ' , 'indeed ' );
19+
20+ return $ response ;
21+ }
22+ }
Original file line number Diff line number Diff line change 22
33namespace Tests \Tempest \Integration \Route ;
44
5+ use Tempest \Router \RouteConfig ;
56use Tests \Tempest \Integration \FrameworkIntegrationTestCase ;
7+ use Tests \Tempest \Integration \Route \Fixtures \CustomNotFoundMiddleware ;
68
9+ /**
10+ * @property \Tempest\Framework\Testing\Http\HttpRouterTester $http
11+ */
712final class NotFoundTest extends FrameworkIntegrationTestCase
813{
914 public function test_unmatched_route_returns_not_found (): void
1015 {
1116 $ this ->http ->get ('unknown-route ' )->assertNotFound ();
1217 }
18+
19+ public function test_custom_not_found_middleware (): void
20+ {
21+ $ routeConfig = $ this ->container ->get (RouteConfig::class);
22+ $ routeConfig ->middleware ->add (CustomNotFoundMiddleware::class);
23+
24+ $ this ->http ->get ('unknown-route ' )->assertHasHeader ('x-not-found ' );
25+ }
1326}
You can’t perform that action at this time.
0 commit comments