Skip to content

Commit cc8ffd7

Browse files
committed
wip
1 parent e36d4db commit cc8ffd7

File tree

3 files changed

+12
-52
lines changed

3 files changed

+12
-52
lines changed

packages/router/src/Exceptions/HttpErrorResponseProcessor.php

Lines changed: 0 additions & 43 deletions
This file was deleted.

packages/router/src/GenericRouter.php

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,14 @@ public function __construct(
3434
) {}
3535

3636
public function dispatch(Request|PsrRequest $request): Response
37-
{
38-
return $this->processResponse(
39-
$this->processRequest($request),
40-
);
41-
}
42-
43-
private function processRequest(Request|PsrRequest $request): Response
4437
{
4538
if (! ($request instanceof Request)) {
4639
$request = map($request)->with(PsrRequestToGenericRequestMapper::class)->do();
4740
}
4841

4942
$callable = $this->getCallable();
5043

51-
return $callable($request);
44+
return $this->processResponse($callable($request));
5245
}
5346

5447
private function getCallable(): HttpMiddlewareCallable

packages/router/src/HandleRouteExceptionMiddleware.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Tempest\Router;
44

55
use Tempest\Core\Priority;
6+
use Tempest\Http\HttpException;
67
use Tempest\Http\Request;
78
use Tempest\Http\Response;
89
use Tempest\Http\Responses\Invalid;
@@ -20,7 +21,16 @@ public function __construct(
2021
public function __invoke(Request $request, HttpMiddlewareCallable $next): Response
2122
{
2223
if ($this->routeConfig->throwHttpExceptions === true) {
23-
return $next($request);
24+
$response = $next($request);
25+
26+
if ($response->status->isServerError() || $response->status->isClientError()) {
27+
throw new HttpException(
28+
status: $response->status,
29+
cause: $response,
30+
);
31+
}
32+
33+
return $response;
2434
}
2535

2636
try {

0 commit comments

Comments
 (0)