ldc-arcadia-api/src/Presentation/Web/Http/Controllers/ErrorDocumentationController.php
Jérémy Munsch a93fde3a3c
feat(api): implement rate limiting and error handling
- Added rate limiting for web and API requests.
- Introduced custom error handling for "Too Many Requests" response.
- Created view for "Too Many Requests" error documentation.
2026-08-12 17:25:45 +02:00

27 lines
811 B
PHP

<?php
declare(strict_types=1);
namespace Presentation\Web\Http\Controllers;
use Illuminate\Contracts\View\View;
use Presentation\Api\V1\Exceptions\ApiErrorCode;
final class ErrorDocumentationController
{
public function __invoke(ApiErrorCode $code): View
{
$viewName = match ($code) {
ApiErrorCode::NotFound => 'errors.docs.not-found',
ApiErrorCode::ValidationError => 'errors.docs.validation-error',
ApiErrorCode::BadRequest => 'errors.docs.bad-request',
ApiErrorCode::TooManyRequests => 'errors.docs.too-many-requests',
ApiErrorCode::InternalError => 'errors.docs.internal-error',
};
return view($viewName, [
'code' => $code,
'title' => $code->title(),
]);
}
}