Skip to content

Commit 2eb3c9f

Browse files
use accepts method
1 parent a606488 commit 2eb3c9f

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

packages/router/src/Exceptions/HttpExceptionHandler.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Tempest\Core\ExceptionHandler;
99
use Tempest\Core\ExceptionReporter;
1010
use Tempest\Core\Kernel;
11+
use Tempest\Http\ContentType;
1112
use Tempest\Http\GenericResponse;
1213
use Tempest\Http\HttpRequestFailed;
1314
use Tempest\Http\Request;
@@ -19,9 +20,6 @@
1920
use Tempest\View\GenericView;
2021
use Throwable;
2122

22-
use function Tempest\get;
23-
use function Tempest\Support\arr;
24-
2523
final readonly class HttpExceptionHandler implements ExceptionHandler
2624
{
2725
public function __construct(
@@ -35,7 +33,7 @@ public function __construct(
3533

3634
public function handle(Throwable $throwable): void
3735
{
38-
if (get(Request::class)->headers->get('Accept') === 'application/json') {
36+
if ($this->container->get(Request::class)->accepts(ContentType::JSON)) {
3937
$this->jsonHandler->handle($throwable);
4038
return;
4139
}

packages/router/src/HandleRouteExceptionMiddleware.php

Lines changed: 3 additions & 7 deletions
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\ContentType;
67
use Tempest\Http\HttpRequestFailed;
78
use Tempest\Http\Request;
89
use Tempest\Http\Response;
@@ -45,27 +46,22 @@ public function __invoke(Request $request, HttpMiddlewareCallable $next): Respon
4546
return $this->forward($request, $next);
4647
}
4748

48-
private function wantsJson(Request $request): bool
49-
{
50-
return $request->headers->get('Accept') === 'application/json';
51-
}
52-
5349
private function forward(Request $request, HttpMiddlewareCallable $next): Response
5450
{
5551
try {
5652
return $next($request);
5753
} catch (ConvertsToResponse $convertsToResponse) {
5854
return $convertsToResponse->toResponse();
5955
} catch (RouteBindingFailed) {
60-
if ($this->wantsJson($request)) {
56+
if ($request->accepts(ContentType::JSON)) {
6157
return new NotFound([
6258
'message' => 'The requested resource was not found.',
6359
]);
6460
}
6561

6662
return new NotFound();
6763
} catch (ValidationFailed $validationException) {
68-
if ($this->wantsJson($request)) {
64+
if ($request->accepts(ContentType::JSON)) {
6965
$errors = arr($validationException->failingRules)->map(
7066
fn (array $failingRulesForField, string $field) => arr($failingRulesForField)->map(
7167
fn (Rule $rule) => get(Validator::class)->getErrorMessage($rule, $field),

0 commit comments

Comments
 (0)