Skip to content

Commit 27012ed

Browse files
Merge pull request #9538 from WyriHaximus-labs/reactphp-handle-uncaught-errors
[ReactPHP] Handle uncaught errors by sending their error message as response back
2 parents 92cf36e + 4541529 commit 27012ed

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

frameworks/PHP/reactphp/app.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use React\Promise\PromiseInterface;
1111

1212
use function React\Promise\all;
13+
use function React\Promise\resolve;
1314

1415
/** @return Closure(Request):ResponseInterface */
1516
function requestHandler(): Closure
@@ -29,7 +30,7 @@ function requestHandler(): Closure
2930
};
3031

3132
return static function (Request $request) use ($world, $fortune, $update): ResponseInterface | PromiseInterface {
32-
return match($request->getUri()->getPath()) {
33+
return resolve((match($request->getUri()->getPath()) {
3334
'/plaintext' => Response::plaintext('Hello, World!'),
3435
'/json' => Response::json(['message' => 'Hello, World!']),
3536
'/db' => db($world),
@@ -38,7 +39,9 @@ function requestHandler(): Closure
3839
'/update' => updateraw(queryCount($request), $world, $update),
3940
// '/info' => info(),
4041
default => new Response(404, [], 'Error 404'),
41-
};
42+
}))->catch(
43+
static fn (Throwable $error): PromiseInterface => resolve(Response::plaintext($error->getMessage())->withStatus(500)),
44+
);
4245
};
4346
}
4447

0 commit comments

Comments
 (0)